<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>usbps: Overview</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="HTML_custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xlogo_bg.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">usbps
   </div>
   <div id="projectbrief">Vitis Drivers API Documentation</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Overview</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="globals.html"><span>APIs</span></a></li>
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="pages.html"><span>Examples</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__usbps.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">Overview</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga5a7ef0c01940cfeca4472b08b09e51f8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga5a7ef0c01940cfeca4472b08b09e51f8">XUSBPS_MAX_PACKET_SIZE</a>&#160;&#160;&#160;1024</td></tr>
<tr class="memdesc:ga5a7ef0c01940cfeca4472b08b09e51f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum value can be put into the queue head.  <a href="#ga5a7ef0c01940cfeca4472b08b09e51f8">More...</a><br/></td></tr>
<tr class="separator:ga5a7ef0c01940cfeca4472b08b09e51f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1918f73069d71fa135b2eab488e821dd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga1918f73069d71fa135b2eab488e821dd">XUSBPS_dTDNLP</a>&#160;&#160;&#160;0x00</td></tr>
<tr class="memdesc:ga1918f73069d71fa135b2eab488e821dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Endpoint Device Transfer Descriptor.  <a href="#ga1918f73069d71fa135b2eab488e821dd">More...</a><br/></td></tr>
<tr class="separator:ga1918f73069d71fa135b2eab488e821dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab3adbbd5bdcb702adc34f1c9e2e19f82"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gab3adbbd5bdcb702adc34f1c9e2e19f82">XUSBPS_dTDTOKEN</a>&#160;&#160;&#160;0x04</td></tr>
<tr class="memdesc:gab3adbbd5bdcb702adc34f1c9e2e19f82"><td class="mdescLeft">&#160;</td><td class="mdescRight">Descriptor Token.  <a href="#gab3adbbd5bdcb702adc34f1c9e2e19f82">More...</a><br/></td></tr>
<tr class="separator:gab3adbbd5bdcb702adc34f1c9e2e19f82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae1f55dd3ec1b871e8e969505420aba2d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gae1f55dd3ec1b871e8e969505420aba2d">XUSBPS_dTDBPTR0</a>&#160;&#160;&#160;0x08</td></tr>
<tr class="memdesc:gae1f55dd3ec1b871e8e969505420aba2d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Buffer Pointer 0.  <a href="#gae1f55dd3ec1b871e8e969505420aba2d">More...</a><br/></td></tr>
<tr class="separator:gae1f55dd3ec1b871e8e969505420aba2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga798410783179a1d9a2e5dbe5a79528b9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga798410783179a1d9a2e5dbe5a79528b9">XUSBPS_dTDBPTR1</a>&#160;&#160;&#160;0x0C</td></tr>
<tr class="memdesc:ga798410783179a1d9a2e5dbe5a79528b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Buffer Pointer 1.  <a href="#ga798410783179a1d9a2e5dbe5a79528b9">More...</a><br/></td></tr>
<tr class="separator:ga798410783179a1d9a2e5dbe5a79528b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab0c5f7403130fc99d7ae54e159bbd3e0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gab0c5f7403130fc99d7ae54e159bbd3e0">XUSBPS_dTDBPTR2</a>&#160;&#160;&#160;0x10</td></tr>
<tr class="memdesc:gab0c5f7403130fc99d7ae54e159bbd3e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Buffer Pointer 2.  <a href="#gab0c5f7403130fc99d7ae54e159bbd3e0">More...</a><br/></td></tr>
<tr class="separator:gab0c5f7403130fc99d7ae54e159bbd3e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa7b2ffafdee0197dffe87a70bb67ebd6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gaa7b2ffafdee0197dffe87a70bb67ebd6">XUSBPS_dTDBPTR3</a>&#160;&#160;&#160;0x14</td></tr>
<tr class="memdesc:gaa7b2ffafdee0197dffe87a70bb67ebd6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Buffer Pointer 3.  <a href="#gaa7b2ffafdee0197dffe87a70bb67ebd6">More...</a><br/></td></tr>
<tr class="separator:gaa7b2ffafdee0197dffe87a70bb67ebd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga304262729ed4884ed8be53898ecace41"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga304262729ed4884ed8be53898ecace41">XUSBPS_dTDBPTR4</a>&#160;&#160;&#160;0x18</td></tr>
<tr class="memdesc:ga304262729ed4884ed8be53898ecace41"><td class="mdescLeft">&#160;</td><td class="mdescRight">Buffer Pointer 4.  <a href="#ga304262729ed4884ed8be53898ecace41">More...</a><br/></td></tr>
<tr class="separator:ga304262729ed4884ed8be53898ecace41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga304ffb51a9138fa0195b284096c1463e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga304ffb51a9138fa0195b284096c1463e">XUSBPS_dTDRSRVD</a>&#160;&#160;&#160;0x1C</td></tr>
<tr class="memdesc:ga304ffb51a9138fa0195b284096c1463e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reserved field.  <a href="#ga304ffb51a9138fa0195b284096c1463e">More...</a><br/></td></tr>
<tr class="separator:ga304ffb51a9138fa0195b284096c1463e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa0000a3e99579f8bdfcd74d39afaa41f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gaa0000a3e99579f8bdfcd74d39afaa41f">XUSBPS_dTDUSERDATA</a>&#160;&#160;&#160;<a class="el" href="group__usbps.html#ga304ffb51a9138fa0195b284096c1463e">XUSBPS_dTDRSRVD</a></td></tr>
<tr class="memdesc:gaa0000a3e99579f8bdfcd74d39afaa41f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reserved field.  <a href="#gaa0000a3e99579f8bdfcd74d39afaa41f">More...</a><br/></td></tr>
<tr class="separator:gaa0000a3e99579f8bdfcd74d39afaa41f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa260e9aba369da9638b783b6954f6661"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gaa260e9aba369da9638b783b6954f6661">XUsbPs_dTDInvalidateCache</a>(dTDPtr)&#160;&#160;&#160;Xil_DCacheInvalidateRange((unsigned int)dTDPtr, sizeof(XUsbPs_dTD))</td></tr>
<tr class="memdesc:gaa260e9aba369da9638b783b6954f6661"><td class="mdescLeft">&#160;</td><td class="mdescRight"><h1>IMPORTANT NOTE: </h1>
 <a href="#gaa260e9aba369da9638b783b6954f6661">More...</a><br/></td></tr>
<tr class="separator:gaa260e9aba369da9638b783b6954f6661"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga53e16e680fe49e56c3267e4d9d81078a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga53e16e680fe49e56c3267e4d9d81078a">XUsbPs_dTDSetTransferLen</a>(dTDPtr, Len)</td></tr>
<tr class="memdesc:ga53e16e680fe49e56c3267e4d9d81078a"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro sets the Transfer Length for the given Transfer Descriptor.  <a href="#ga53e16e680fe49e56c3267e4d9d81078a">More...</a><br/></td></tr>
<tr class="separator:ga53e16e680fe49e56c3267e4d9d81078a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaff561ce4d02aeaca741b9344cf71c439"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gaff561ce4d02aeaca741b9344cf71c439">XUsbPs_dTDGetNLP</a>(dTDPtr)</td></tr>
<tr class="memdesc:gaff561ce4d02aeaca741b9344cf71c439"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro gets the Next Link pointer of the given Transfer Descriptor.  <a href="#gaff561ce4d02aeaca741b9344cf71c439">More...</a><br/></td></tr>
<tr class="separator:gaff561ce4d02aeaca741b9344cf71c439"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8d5cfe0e60b6d415d793c2a7ae59fff3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga8d5cfe0e60b6d415d793c2a7ae59fff3">XUsbPs_dTDSetNLP</a>(dTDPtr, NLP)</td></tr>
<tr class="memdesc:ga8d5cfe0e60b6d415d793c2a7ae59fff3"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro sets the Next Link pointer of the given Transfer Descriptor.  <a href="#ga8d5cfe0e60b6d415d793c2a7ae59fff3">More...</a><br/></td></tr>
<tr class="separator:ga8d5cfe0e60b6d415d793c2a7ae59fff3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga711b9e3ec5886510d1647017b171b7a7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga711b9e3ec5886510d1647017b171b7a7">XUsbPs_dTDGetTransferLen</a>(dTDPtr)</td></tr>
<tr class="memdesc:ga711b9e3ec5886510d1647017b171b7a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro gets the Transfer Length for the given Transfer Descriptor.  <a href="#ga711b9e3ec5886510d1647017b171b7a7">More...</a><br/></td></tr>
<tr class="separator:ga711b9e3ec5886510d1647017b171b7a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabd3140e00ef6e8680e34ee234d0ea416"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gabd3140e00ef6e8680e34ee234d0ea416">XUsbPs_dTDSetIOC</a>(dTDPtr)</td></tr>
<tr class="memdesc:gabd3140e00ef6e8680e34ee234d0ea416"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro sets the Interrupt On Complete (IOC) bit for the given Transfer Descriptor.  <a href="#gabd3140e00ef6e8680e34ee234d0ea416">More...</a><br/></td></tr>
<tr class="separator:gabd3140e00ef6e8680e34ee234d0ea416"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga90d5c9b287b9f052eaacd2134bfe144a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga90d5c9b287b9f052eaacd2134bfe144a">XUsbPs_dTDSetTerminate</a>(dTDPtr)</td></tr>
<tr class="memdesc:ga90d5c9b287b9f052eaacd2134bfe144a"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro sets the Terminate bit for the given Transfer Descriptor.  <a href="#ga90d5c9b287b9f052eaacd2134bfe144a">More...</a><br/></td></tr>
<tr class="separator:ga90d5c9b287b9f052eaacd2134bfe144a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0790e61992c08a5957fd76b0872e229f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga0790e61992c08a5957fd76b0872e229f">XUsbPs_dTDClrTerminate</a>(dTDPtr)</td></tr>
<tr class="memdesc:ga0790e61992c08a5957fd76b0872e229f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro clears the Terminate bit for the given Transfer Descriptor.  <a href="#ga0790e61992c08a5957fd76b0872e229f">More...</a><br/></td></tr>
<tr class="separator:ga0790e61992c08a5957fd76b0872e229f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0eac82eeedb77e35d21c352b3aaabd17"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga0eac82eeedb77e35d21c352b3aaabd17">XUsbPs_dTDIsActive</a>(dTDPtr)</td></tr>
<tr class="memdesc:ga0eac82eeedb77e35d21c352b3aaabd17"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro checks if the given descriptor is active.  <a href="#ga0eac82eeedb77e35d21c352b3aaabd17">More...</a><br/></td></tr>
<tr class="separator:ga0eac82eeedb77e35d21c352b3aaabd17"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga391b6782385021bb6ea588f85e81655d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga391b6782385021bb6ea588f85e81655d">XUsbPs_dTDSetActive</a>(dTDPtr)</td></tr>
<tr class="memdesc:ga391b6782385021bb6ea588f85e81655d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro sets the Active bit for the given Transfer Descriptor.  <a href="#ga391b6782385021bb6ea588f85e81655d">More...</a><br/></td></tr>
<tr class="separator:ga391b6782385021bb6ea588f85e81655d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3a1bc5acb0e193094a4d98ff052cf934"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga3a1bc5acb0e193094a4d98ff052cf934">XUsbPs_dTDSetMultO</a>(dTDPtr, val)</td></tr>
<tr class="memdesc:ga3a1bc5acb0e193094a4d98ff052cf934"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro sets the multiplier bit for the Transfer Descriptor.  <a href="#ga3a1bc5acb0e193094a4d98ff052cf934">More...</a><br/></td></tr>
<tr class="separator:ga3a1bc5acb0e193094a4d98ff052cf934"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8fb175f0a451903f999c9ddf2454eaa6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga8fb175f0a451903f999c9ddf2454eaa6">XUsbPs_ReaddTD</a>(dTDPtr, Id)&#160;&#160;&#160;(*(u32 *)((u32)(dTDPtr) + (u32)(Id)))</td></tr>
<tr class="memdesc:ga8fb175f0a451903f999c9ddf2454eaa6"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro reads the content of a field in a Transfer Descriptor.  <a href="#ga8fb175f0a451903f999c9ddf2454eaa6">More...</a><br/></td></tr>
<tr class="separator:ga8fb175f0a451903f999c9ddf2454eaa6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga46b39addcef0c64d911bcb4fef09995f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga46b39addcef0c64d911bcb4fef09995f">XUsbPs_WritedTD</a>(dTDPtr, Id, Val)&#160;&#160;&#160;(*(u32 *) ((u32)(dTDPtr) + (u32)(Id)) = (u32)(Val))</td></tr>
<tr class="memdesc:ga46b39addcef0c64d911bcb4fef09995f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro writes a value to a field in a Transfer Descriptor.  <a href="#ga46b39addcef0c64d911bcb4fef09995f">More...</a><br/></td></tr>
<tr class="separator:ga46b39addcef0c64d911bcb4fef09995f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga35a9eff7ab1ce1b0d0ce40905a240be6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga35a9eff7ab1ce1b0d0ce40905a240be6">XUSBPS_dQHCFG</a>&#160;&#160;&#160;0x00</td></tr>
<tr class="memdesc:ga35a9eff7ab1ce1b0d0ce40905a240be6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Endpoint Device Queue Head.  <a href="#ga35a9eff7ab1ce1b0d0ce40905a240be6">More...</a><br/></td></tr>
<tr class="separator:ga35a9eff7ab1ce1b0d0ce40905a240be6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5ebb95d2a416b4da0fe787e7a73f81c9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga5ebb95d2a416b4da0fe787e7a73f81c9">XUSBPS_dQHCPTR</a>&#160;&#160;&#160;0x04</td></tr>
<tr class="memdesc:ga5ebb95d2a416b4da0fe787e7a73f81c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">dQH Current dTD Pointer  <a href="#ga5ebb95d2a416b4da0fe787e7a73f81c9">More...</a><br/></td></tr>
<tr class="separator:ga5ebb95d2a416b4da0fe787e7a73f81c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae62a13c7c27ae6831f352e3f76689374"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gae62a13c7c27ae6831f352e3f76689374">XUSBPS_dQHdTDNLP</a>&#160;&#160;&#160;0x08</td></tr>
<tr class="memdesc:gae62a13c7c27ae6831f352e3f76689374"><td class="mdescLeft">&#160;</td><td class="mdescRight">dTD Next Link Ptr in dQH overlay  <a href="#gae62a13c7c27ae6831f352e3f76689374">More...</a><br/></td></tr>
<tr class="separator:gae62a13c7c27ae6831f352e3f76689374"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab1a2ab2dceacbfc6262ea3053bc0c4ba"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gab1a2ab2dceacbfc6262ea3053bc0c4ba">XUSBPS_dQHdTDTOKEN</a>&#160;&#160;&#160;0x0C</td></tr>
<tr class="memdesc:gab1a2ab2dceacbfc6262ea3053bc0c4ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">dTD Token in dQH overlay  <a href="#gab1a2ab2dceacbfc6262ea3053bc0c4ba">More...</a><br/></td></tr>
<tr class="separator:gab1a2ab2dceacbfc6262ea3053bc0c4ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga578231f86cf92fd3a737403139877114"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga578231f86cf92fd3a737403139877114">XUSBPS_dQHSUB0</a>&#160;&#160;&#160;0x28</td></tr>
<tr class="memdesc:ga578231f86cf92fd3a737403139877114"><td class="mdescLeft">&#160;</td><td class="mdescRight">USB dQH Setup Buffer 0.  <a href="#ga578231f86cf92fd3a737403139877114">More...</a><br/></td></tr>
<tr class="separator:ga578231f86cf92fd3a737403139877114"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8bf765db8dc35c110ea1fce23e0f8004"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga8bf765db8dc35c110ea1fce23e0f8004">XUSBPS_dQHSUB1</a>&#160;&#160;&#160;0x2C</td></tr>
<tr class="memdesc:ga8bf765db8dc35c110ea1fce23e0f8004"><td class="mdescLeft">&#160;</td><td class="mdescRight">USB dQH Setup Buffer 1.  <a href="#ga8bf765db8dc35c110ea1fce23e0f8004">More...</a><br/></td></tr>
<tr class="separator:ga8bf765db8dc35c110ea1fce23e0f8004"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4bdef8ae36dd906e45f9f8cd0db05386"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga4bdef8ae36dd906e45f9f8cd0db05386">XUsbPs_dQHSetMaxPacketLen</a>(dQHPtr, Len)</td></tr>
<tr class="memdesc:ga4bdef8ae36dd906e45f9f8cd0db05386"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro sets the Maximum Packet Length field of the give Queue Head.  <a href="#ga4bdef8ae36dd906e45f9f8cd0db05386">More...</a><br/></td></tr>
<tr class="separator:ga4bdef8ae36dd906e45f9f8cd0db05386"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaae119765b6e580df20735ce89de133ae"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gaae119765b6e580df20735ce89de133ae">XUsbPs_dQHSetIOS</a>(dQHPtr)</td></tr>
<tr class="memdesc:gaae119765b6e580df20735ce89de133ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro sets the Interrupt On Setup (IOS) bit for an endpoint.  <a href="#gaae119765b6e580df20735ce89de133ae">More...</a><br/></td></tr>
<tr class="separator:gaae119765b6e580df20735ce89de133ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga429409da5135163e2a708eac0eac561c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga429409da5135163e2a708eac0eac561c">XUsbPs_dQHClrIOS</a>(dQHPtr)</td></tr>
<tr class="memdesc:ga429409da5135163e2a708eac0eac561c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro clears the Interrupt On Setup (IOS) bit for an endpoint.  <a href="#ga429409da5135163e2a708eac0eac561c">More...</a><br/></td></tr>
<tr class="separator:ga429409da5135163e2a708eac0eac561c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaad62bf32e8122d6645586a924255298a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gaad62bf32e8122d6645586a924255298a">XUsbPs_dQHEnableZLT</a>(dQHPtr)</td></tr>
<tr class="memdesc:gaad62bf32e8122d6645586a924255298a"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro enables Zero Length Termination for the endpoint.  <a href="#gaad62bf32e8122d6645586a924255298a">More...</a><br/></td></tr>
<tr class="separator:gaad62bf32e8122d6645586a924255298a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga536734fa778d3c92acee8f924ed14368"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga536734fa778d3c92acee8f924ed14368">XUsbPs_dQHDisableZLT</a>(dQHPtr)</td></tr>
<tr class="memdesc:ga536734fa778d3c92acee8f924ed14368"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro disables Zero Length Termination for the endpoint.  <a href="#ga536734fa778d3c92acee8f924ed14368">More...</a><br/></td></tr>
<tr class="separator:ga536734fa778d3c92acee8f924ed14368"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga839c21d9f38839e4feb1c9e65a8c1737"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga839c21d9f38839e4feb1c9e65a8c1737">XUsbPs_ReaddQH</a>(dQHPtr, Id)&#160;&#160;&#160;(*(u32 *)((u32)(dQHPtr) + (u32) (Id)))</td></tr>
<tr class="memdesc:ga839c21d9f38839e4feb1c9e65a8c1737"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro reads the content of a field in a Queue Head.  <a href="#ga839c21d9f38839e4feb1c9e65a8c1737">More...</a><br/></td></tr>
<tr class="separator:ga839c21d9f38839e4feb1c9e65a8c1737"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac4e6554153ee40366d383af1292c04ab"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gac4e6554153ee40366d383af1292c04ab">XUsbPs_WritedQH</a>(dQHPtr, Id, Val)&#160;&#160;&#160;(*(u32 *) ((u32)(dQHPtr) + (u32)(Id)) = (u32)(Val))</td></tr>
<tr class="memdesc:gac4e6554153ee40366d383af1292c04ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro writes a value to a field in a Queue Head.  <a href="#gac4e6554153ee40366d383af1292c04ab">More...</a><br/></td></tr>
<tr class="separator:gac4e6554153ee40366d383af1292c04ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5b6ed1e5110a39ee013edb1c2d1870e6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga5b6ed1e5110a39ee013edb1c2d1870e6">XUSBPS_dQH_BASE_ALIGN</a>&#160;&#160;&#160;2048</td></tr>
<tr class="memdesc:ga5b6ed1e5110a39ee013edb1c2d1870e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mask for All IRQ Enable masks.  <a href="#ga5b6ed1e5110a39ee013edb1c2d1870e6">More...</a><br/></td></tr>
<tr class="separator:ga5b6ed1e5110a39ee013edb1c2d1870e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga638a41ffd2f06ff71d6bf8c0f91c8172"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga638a41ffd2f06ff71d6bf8c0f91c8172">XUSBPS_dQH_ALIGN</a>&#160;&#160;&#160;64</td></tr>
<tr class="memdesc:ga638a41ffd2f06ff71d6bf8c0f91c8172"><td class="mdescLeft">&#160;</td><td class="mdescRight">Alignment of a Device Transfer Descriptor structure.  <a href="#ga638a41ffd2f06ff71d6bf8c0f91c8172">More...</a><br/></td></tr>
<tr class="separator:ga638a41ffd2f06ff71d6bf8c0f91c8172"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa7cc144d178f6407b39c0ef5f86685ca"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gaa7cc144d178f6407b39c0ef5f86685ca">XUSBPS_dTD_ALIGN</a>&#160;&#160;&#160;32</td></tr>
<tr class="memdesc:gaa7cc144d178f6407b39c0ef5f86685ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of one RX buffer for a OUT Transfer Descriptor.  <a href="#gaa7cc144d178f6407b39c0ef5f86685ca">More...</a><br/></td></tr>
<tr class="separator:gaa7cc144d178f6407b39c0ef5f86685ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga09ddf307c0b57bfdb8d83088d8e96068"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga09ddf307c0b57bfdb8d83088d8e96068">XUSBPS_dTD_BUF_SIZE</a>&#160;&#160;&#160;4096</td></tr>
<tr class="memdesc:ga09ddf307c0b57bfdb8d83088d8e96068"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum size of one RX/TX buffer.  <a href="#ga09ddf307c0b57bfdb8d83088d8e96068">More...</a><br/></td></tr>
<tr class="separator:ga09ddf307c0b57bfdb8d83088d8e96068"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad68e76afe700885d49824c80a5feeda4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gad68e76afe700885d49824c80a5feeda4">XUSBPS_dTD_BUF_MAX_SIZE</a>&#160;&#160;&#160;16*1024</td></tr>
<tr class="memdesc:gad68e76afe700885d49824c80a5feeda4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Alignment requirement for Transfer Descriptor buffers.  <a href="#gad68e76afe700885d49824c80a5feeda4">More...</a><br/></td></tr>
<tr class="separator:gad68e76afe700885d49824c80a5feeda4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae013de4110ae5cd348830c36a365fb14"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gae013de4110ae5cd348830c36a365fb14">XUsbPs_ReadReg</a>(BaseAddress, RegOffset)&#160;&#160;&#160;Xil_In32(BaseAddress + (RegOffset))</td></tr>
<tr class="memdesc:gae013de4110ae5cd348830c36a365fb14"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro reads the given register.  <a href="#gae013de4110ae5cd348830c36a365fb14">More...</a><br/></td></tr>
<tr class="separator:gae013de4110ae5cd348830c36a365fb14"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaefd4e31b2628602507b5df0f7d9c934f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gaefd4e31b2628602507b5df0f7d9c934f">XUsbPs_WriteReg</a>(BaseAddress, RegOffset, Data)&#160;&#160;&#160;Xil_Out32(BaseAddress + (RegOffset), (Data))</td></tr>
<tr class="memdesc:gaefd4e31b2628602507b5df0f7d9c934f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro writes the given register.  <a href="#gaefd4e31b2628602507b5df0f7d9c934f">More...</a><br/></td></tr>
<tr class="separator:gaefd4e31b2628602507b5df0f7d9c934f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga1a3417695facf9eff86ce6a1e14a9bbc"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga1a3417695facf9eff86ce6a1e14a9bbc">XUsbPs_CfgInitialize</a> (<a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *InstancePtr, const <a class="el" href="struct_x_usb_ps___config.html">XUsbPs_Config</a> *ConfigPtr, u32 VirtBaseAddress)</td></tr>
<tr class="memdesc:ga1a3417695facf9eff86ce6a1e14a9bbc"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function initializes a <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> instance/driver.  <a href="#ga1a3417695facf9eff86ce6a1e14a9bbc">More...</a><br/></td></tr>
<tr class="separator:ga1a3417695facf9eff86ce6a1e14a9bbc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga69b214c21727c4b1f641d84414f397df"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga69b214c21727c4b1f641d84414f397df">XUsbPs_DeviceReset</a> (<a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga69b214c21727c4b1f641d84414f397df"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function performs device reset, device is stopped at the end.  <a href="#ga69b214c21727c4b1f641d84414f397df">More...</a><br/></td></tr>
<tr class="separator:ga69b214c21727c4b1f641d84414f397df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2c583a4c515653fd70c111fe0d2ddb37"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga2c583a4c515653fd70c111fe0d2ddb37">XUsbPs_Reset</a> (<a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga2c583a4c515653fd70c111fe0d2ddb37"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function resets the USB device.  <a href="#ga2c583a4c515653fd70c111fe0d2ddb37">More...</a><br/></td></tr>
<tr class="separator:ga2c583a4c515653fd70c111fe0d2ddb37"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0f25904ea86f189b6597c0dff795f61f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga0f25904ea86f189b6597c0dff795f61f">XUsbPs_Suspend</a> (const <a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga0f25904ea86f189b6597c0dff795f61f"><td class="mdescLeft">&#160;</td><td class="mdescRight">USB Suspend.  <a href="#ga0f25904ea86f189b6597c0dff795f61f">More...</a><br/></td></tr>
<tr class="separator:ga0f25904ea86f189b6597c0dff795f61f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa71f906531330b2f05ede2f17ab54c69"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gaa71f906531330b2f05ede2f17ab54c69">XUsbPs_Resume</a> (const <a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *InstancePtr)</td></tr>
<tr class="memdesc:gaa71f906531330b2f05ede2f17ab54c69"><td class="mdescLeft">&#160;</td><td class="mdescRight">USB Resume.  <a href="#gaa71f906531330b2f05ede2f17ab54c69">More...</a><br/></td></tr>
<tr class="separator:gaa71f906531330b2f05ede2f17ab54c69"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5dc88831ee2823e24d7024e585704772"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga5dc88831ee2823e24d7024e585704772">XUsbPs_RequestHostResume</a> (const <a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga5dc88831ee2823e24d7024e585704772"><td class="mdescLeft">&#160;</td><td class="mdescRight">USB Assert Resume.  <a href="#ga5dc88831ee2823e24d7024e585704772">More...</a><br/></td></tr>
<tr class="separator:ga5dc88831ee2823e24d7024e585704772"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8c700bcf9ba08271914145803776d265"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga8c700bcf9ba08271914145803776d265">XUsbPs_SetDeviceAddress</a> (<a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *InstancePtr, u8 Address)</td></tr>
<tr class="memdesc:ga8c700bcf9ba08271914145803776d265"><td class="mdescLeft">&#160;</td><td class="mdescRight">This functions sets the controller's DEVICE address.  <a href="#ga8c700bcf9ba08271914145803776d265">More...</a><br/></td></tr>
<tr class="separator:ga8c700bcf9ba08271914145803776d265"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6daace32113a806a6822a6d5943a93f4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga6daace32113a806a6822a6d5943a93f4">XUsbPs_ConfigureDevice</a> (<a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *InstancePtr, const <a class="el" href="struct_x_usb_ps___device_config.html">XUsbPs_DeviceConfig</a> *CfgPtr)</td></tr>
<tr class="memdesc:ga6daace32113a806a6822a6d5943a93f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function configures the DEVICE side of the controller.  <a href="#ga6daace32113a806a6822a6d5943a93f4">More...</a><br/></td></tr>
<tr class="separator:ga6daace32113a806a6822a6d5943a93f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6bfe53ec45a998d5673b80e11ab4d292"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga6bfe53ec45a998d5673b80e11ab4d292">XUsbPs_EpBufferSend</a> (<a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *InstancePtr, u8 EpNum, const u8 *BufferPtr, u32 BufferLen)</td></tr>
<tr class="memdesc:ga6bfe53ec45a998d5673b80e11ab4d292"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends a given data buffer.  <a href="#ga6bfe53ec45a998d5673b80e11ab4d292">More...</a><br/></td></tr>
<tr class="separator:ga6bfe53ec45a998d5673b80e11ab4d292"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1e4c0735be24ea24b73404db8d18133e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga1e4c0735be24ea24b73404db8d18133e">XUsbPs_EpBufferSendWithZLT</a> (<a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *InstancePtr, u8 EpNum, const u8 *BufferPtr, u32 BufferLen)</td></tr>
<tr class="memdesc:ga1e4c0735be24ea24b73404db8d18133e"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends a given data buffer and also zero length packet if the Bufferlen is in multiples of endpoint max packet size.  <a href="#ga1e4c0735be24ea24b73404db8d18133e">More...</a><br/></td></tr>
<tr class="separator:ga1e4c0735be24ea24b73404db8d18133e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0532b9ebbcab7bb72ec6bef692e20faf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga0532b9ebbcab7bb72ec6bef692e20faf">XUsbPs_EpGetData</a> (<a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *InstancePtr, u8 EpNum, u32 BufferLen)</td></tr>
<tr class="memdesc:ga0532b9ebbcab7bb72ec6bef692e20faf"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function receives a data buffer from the endpoint of the given endpoint number and pass it to the application.  <a href="#ga0532b9ebbcab7bb72ec6bef692e20faf">More...</a><br/></td></tr>
<tr class="separator:ga0532b9ebbcab7bb72ec6bef692e20faf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac27a9d64ddf33a2400d7493e301a7192"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gac27a9d64ddf33a2400d7493e301a7192">XUsbPs_EpBufferReceive</a> (<a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *InstancePtr, u8 EpNum, u8 **BufferPtr, u32 *BufferLenPtr, u32 *Handle)</td></tr>
<tr class="memdesc:gac27a9d64ddf33a2400d7493e301a7192"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function receives a data buffer from the endpoint of the given endpoint number.  <a href="#gac27a9d64ddf33a2400d7493e301a7192">More...</a><br/></td></tr>
<tr class="separator:gac27a9d64ddf33a2400d7493e301a7192"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa01a009151d133f07249d7f932e22f11"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gaa01a009151d133f07249d7f932e22f11">XUsbPs_EpBufferRelease</a> (u32 Handle)</td></tr>
<tr class="memdesc:gaa01a009151d133f07249d7f932e22f11"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns a previously received data buffer to the driver.  <a href="#gaa01a009151d133f07249d7f932e22f11">More...</a><br/></td></tr>
<tr class="separator:gaa01a009151d133f07249d7f932e22f11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadbe72ae98e3bc73150a650f5f8e5c34f"><td class="memItemLeft" align="right" valign="top">s32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gadbe72ae98e3bc73150a650f5f8e5c34f">XUsbPs_EpDataBufferReceive</a> (<a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *InstancePtr, u8 EpNum, u8 *BufferPtr, u32 BufferLen)</td></tr>
<tr class="memdesc:gadbe72ae98e3bc73150a650f5f8e5c34f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function receives a data buffer from the endpoint of the given endpoint number.  <a href="#gadbe72ae98e3bc73150a650f5f8e5c34f">More...</a><br/></td></tr>
<tr class="separator:gadbe72ae98e3bc73150a650f5f8e5c34f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga04fb0b564bcd01cdf33e29ca2732656a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga04fb0b564bcd01cdf33e29ca2732656a">XUsbPs_EpSetHandler</a> (<a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *InstancePtr, u8 EpNum, u8 Direction, XUsbPs_EpHandlerFunc CallBackFunc, void *CallBackRef)</td></tr>
<tr class="memdesc:ga04fb0b564bcd01cdf33e29ca2732656a"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sets the handler for endpoint events.  <a href="#ga04fb0b564bcd01cdf33e29ca2732656a">More...</a><br/></td></tr>
<tr class="separator:ga04fb0b564bcd01cdf33e29ca2732656a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5eb603906d381d4a426a3d24fc2082a0"><td class="memItemLeft" align="right" valign="top">s32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga5eb603906d381d4a426a3d24fc2082a0">XUsbPs_EpSetIsoHandler</a> (<a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *InstancePtr, u8 EpNum, u8 Direction, XUsbPs_EpIsoHandlerFunc CallBackFunc)</td></tr>
<tr class="memdesc:ga5eb603906d381d4a426a3d24fc2082a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sets the handler for ISO endpoint events.  <a href="#ga5eb603906d381d4a426a3d24fc2082a0">More...</a><br/></td></tr>
<tr class="separator:ga5eb603906d381d4a426a3d24fc2082a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaba0ae2eac9c6b402e32e401333a5b105"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gaba0ae2eac9c6b402e32e401333a5b105">XUsbPs_EpPrime</a> (<a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *InstancePtr, u8 EpNum, u8 Direction)</td></tr>
<tr class="memdesc:gaba0ae2eac9c6b402e32e401333a5b105"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function primes an endpoint.  <a href="#gaba0ae2eac9c6b402e32e401333a5b105">More...</a><br/></td></tr>
<tr class="separator:gaba0ae2eac9c6b402e32e401333a5b105"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga91c44ff9dcae2e47ed8112c8a0779fa1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga91c44ff9dcae2e47ed8112c8a0779fa1">XUsbPs_EpGetSetupData</a> (<a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *InstancePtr, int EpNum, <a class="el" href="struct_x_usb_ps___setup_data.html">XUsbPs_SetupData</a> *SetupDataPtr)</td></tr>
<tr class="memdesc:ga91c44ff9dcae2e47ed8112c8a0779fa1"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function extracts the Setup Data from a given endpoint.  <a href="#ga91c44ff9dcae2e47ed8112c8a0779fa1">More...</a><br/></td></tr>
<tr class="separator:ga91c44ff9dcae2e47ed8112c8a0779fa1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga90aab040f015299b2064124bed882896"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga90aab040f015299b2064124bed882896">XUsbPs_ReconfigureEp</a> (<a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *InstancePtr, <a class="el" href="struct_x_usb_ps___device_config.html">XUsbPs_DeviceConfig</a> *CfgPtr, int EpNum, unsigned short NewDirection, int DirectionChanged)</td></tr>
<tr class="memdesc:ga90aab040f015299b2064124bed882896"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function reconfigures one Ep corresponding to host's request of setting alternate interface.  <a href="#ga90aab040f015299b2064124bed882896">More...</a><br/></td></tr>
<tr class="separator:ga90aab040f015299b2064124bed882896"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf07a1ec6f70450249f71f4831649974c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gaf07a1ec6f70450249f71f4831649974c">XUsbPs_ResetHw</a> (u32 BaseAddress)</td></tr>
<tr class="memdesc:gaf07a1ec6f70450249f71f4831649974c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function perform the reset sequence to the given usbps interface by configuring the appropriate control bits in the usbps specific registers.  <a href="#gaf07a1ec6f70450249f71f4831649974c">More...</a><br/></td></tr>
<tr class="separator:gaf07a1ec6f70450249f71f4831649974c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga60e2b0f6fabc24cdf785d704ab2585d1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga60e2b0f6fabc24cdf785d704ab2585d1">XUsbPs_IntrHandler</a> (void *HandlerRef)</td></tr>
<tr class="memdesc:ga60e2b0f6fabc24cdf785d704ab2585d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is the first-level interrupt handler for the USB core.  <a href="#ga60e2b0f6fabc24cdf785d704ab2585d1">More...</a><br/></td></tr>
<tr class="separator:ga60e2b0f6fabc24cdf785d704ab2585d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga521c050d3b146bb58862f5fadf7f6ba6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga521c050d3b146bb58862f5fadf7f6ba6">XUsbPs_IntrSetHandler</a> (<a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *InstancePtr, XUsbPs_IntrHandlerFunc CallBackFunc, void *CallBackRef, u32 Mask)</td></tr>
<tr class="memdesc:ga521c050d3b146bb58862f5fadf7f6ba6"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function registers the user callback handler for controller (non-endpoint) interrupts.  <a href="#ga521c050d3b146bb58862f5fadf7f6ba6">More...</a><br/></td></tr>
<tr class="separator:ga521c050d3b146bb58862f5fadf7f6ba6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafcaf2c53431ef206d3435d677867f818"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_x_usb_ps___config.html">XUsbPs_Config</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gafcaf2c53431ef206d3435d677867f818">XUsbPs_LookupConfig</a> (u16 DeviceID)</td></tr>
<tr class="memdesc:gafcaf2c53431ef206d3435d677867f818"><td class="mdescLeft">&#160;</td><td class="mdescRight">Looks up the controller configuration based on the unique controller ID.  <a href="#gafcaf2c53431ef206d3435d677867f818">More...</a><br/></td></tr>
<tr class="separator:gafcaf2c53431ef206d3435d677867f818"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:gadda6870b9ef5c1d4e7b345433c44bac2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_x_usb_ps___config.html">XUsbPs_Config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gadda6870b9ef5c1d4e7b345433c44bac2">XUsbPs_ConfigTable</a> []</td></tr>
<tr class="memdesc:gadda6870b9ef5c1d4e7b345433c44bac2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Each <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> device in the system has an entry in this table.  <a href="#gadda6870b9ef5c1d4e7b345433c44bac2">More...</a><br/></td></tr>
<tr class="separator:gadda6870b9ef5c1d4e7b345433c44bac2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadda6870b9ef5c1d4e7b345433c44bac2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_x_usb_ps___config.html">XUsbPs_Config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gadda6870b9ef5c1d4e7b345433c44bac2">XUsbPs_ConfigTable</a> []</td></tr>
<tr class="memdesc:gadda6870b9ef5c1d4e7b345433c44bac2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Each <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> device in the system has an entry in this table.  <a href="#gadda6870b9ef5c1d4e7b345433c44bac2">More...</a><br/></td></tr>
<tr class="separator:gadda6870b9ef5c1d4e7b345433c44bac2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
System hang prevention Timeout counter value.</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp242ca41508ff1b8e3fc45e6d7c78f2d8"></a>This value is used throughout the code to initialize a Timeout counter that is used when hard polling a register.</p>
<p>The ides is to initialize the Timeout counter to a value that is longer than any expected Timeout but short enough so the system will continue to work and report an error while the user is still paying attention. A reasonable Timeout time would be about 10 seconds. The XUSBPS_TIMEOUT_COUNTER value should be chosen so a polling loop would run about 10 seconds before a Timeout is detected. For example: </p>
<pre class="fragment">    int Timeout = XUSBPS_TIMEOUT_COUNTER;
 while ((XUsbPs_ReadReg(InstancePtr-&gt;Config.BaseAddress,
                    XUSBPS_CMD_OFFSET) &amp;
                    XUSBPS_CMD_RST_MASK) &amp;&amp; --Timeout) {
    ;
 }
 if (0 == Timeout) {
    return XST_FAILURE;
</pre> </td></tr>
<tr class="memitem:ga57f0ece484636153f47b87cfd7eeaa75"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga57f0ece484636153f47b87cfd7eeaa75"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XUSBPS_TIMEOUT_COUNTER</b>&#160;&#160;&#160;1000000</td></tr>
<tr class="separator:ga57f0ece484636153f47b87cfd7eeaa75"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Endpoint Direction (bitmask)</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp8b44ba7e4a3cc805ca633291be1a927f"></a>Definitions to be used with Endpoint related function that require a 'Direction' parameter.</p>
<p>NOTE: The direction is always defined from the perspective of the HOST! This means that an IN endpoint on the controller is used for sending data while the OUT endpoint on the controller is used for receiving data. </p>
</td></tr>
<tr class="memitem:ga0f21b0f7da084c22abc4f0a9bf425bc7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga0f21b0f7da084c22abc4f0a9bf425bc7">XUSBPS_EP_DIRECTION_IN</a>&#160;&#160;&#160;0x01</td></tr>
<tr class="memdesc:ga0f21b0f7da084c22abc4f0a9bf425bc7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Endpoint direction IN.  <a href="#ga0f21b0f7da084c22abc4f0a9bf425bc7">More...</a><br/></td></tr>
<tr class="separator:ga0f21b0f7da084c22abc4f0a9bf425bc7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga86e363bb35c38123a924bd2af954ceab"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga86e363bb35c38123a924bd2af954ceab">XUSBPS_EP_DIRECTION_OUT</a>&#160;&#160;&#160;0x02</td></tr>
<tr class="memdesc:ga86e363bb35c38123a924bd2af954ceab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Endpoint direction OUT.  <a href="#ga86e363bb35c38123a924bd2af954ceab">More...</a><br/></td></tr>
<tr class="separator:ga86e363bb35c38123a924bd2af954ceab"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Endpoint Type</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp363497ee29233f513e6b7a80cac1cdf3"></a>Definitions to be used with Endpoint related functions that require a 'Type' parameter. </p>
</td></tr>
<tr class="memitem:gac1d65456d504832a5a1426085545ff2d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gac1d65456d504832a5a1426085545ff2d">XUSBPS_EP_TYPE_NONE</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:gac1d65456d504832a5a1426085545ff2d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Endpoint is not used.  <a href="#gac1d65456d504832a5a1426085545ff2d">More...</a><br/></td></tr>
<tr class="separator:gac1d65456d504832a5a1426085545ff2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad8b727ed129801690a987d1e475bc1d5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gad8b727ed129801690a987d1e475bc1d5">XUSBPS_EP_TYPE_CONTROL</a>&#160;&#160;&#160;1</td></tr>
<tr class="memdesc:gad8b727ed129801690a987d1e475bc1d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Endpoint for Control Transfers.  <a href="#gad8b727ed129801690a987d1e475bc1d5">More...</a><br/></td></tr>
<tr class="separator:gad8b727ed129801690a987d1e475bc1d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae012590baed99e88cd4a92ff3f65faa0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gae012590baed99e88cd4a92ff3f65faa0">XUSBPS_EP_TYPE_ISOCHRONOUS</a>&#160;&#160;&#160;2</td></tr>
<tr class="memdesc:gae012590baed99e88cd4a92ff3f65faa0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Endpoint for isochronous data.  <a href="#gae012590baed99e88cd4a92ff3f65faa0">More...</a><br/></td></tr>
<tr class="separator:gae012590baed99e88cd4a92ff3f65faa0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1c2a58518c4f4ee1e9bcd200f566ddf7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga1c2a58518c4f4ee1e9bcd200f566ddf7">XUSBPS_EP_TYPE_BULK</a>&#160;&#160;&#160;3</td></tr>
<tr class="memdesc:ga1c2a58518c4f4ee1e9bcd200f566ddf7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Endpoint for BULK Transfers.  <a href="#ga1c2a58518c4f4ee1e9bcd200f566ddf7">More...</a><br/></td></tr>
<tr class="separator:ga1c2a58518c4f4ee1e9bcd200f566ddf7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab9833b2c2a3e69cfa5c5b2cd0be4c185"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gab9833b2c2a3e69cfa5c5b2cd0be4c185">XUSBPS_EP_TYPE_INTERRUPT</a>&#160;&#160;&#160;4</td></tr>
<tr class="memdesc:gab9833b2c2a3e69cfa5c5b2cd0be4c185"><td class="mdescLeft">&#160;</td><td class="mdescRight">Endpoint for interrupt Transfers.  <a href="#gab9833b2c2a3e69cfa5c5b2cd0be4c185">More...</a><br/></td></tr>
<tr class="separator:gab9833b2c2a3e69cfa5c5b2cd0be4c185"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga693168c9588d90c92e04e665fb141fce"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga693168c9588d90c92e04e665fb141fce">ENDPOINT_MAXP_LENGTH</a>&#160;&#160;&#160;0x400</td></tr>
<tr class="memdesc:ga693168c9588d90c92e04e665fb141fce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Endpoint Max Packet Length in DeviceConfig is a coded value, ch9.6.6.  <a href="#ga693168c9588d90c92e04e665fb141fce">More...</a><br/></td></tr>
<tr class="separator:ga693168c9588d90c92e04e665fb141fce"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Field names for status retrieval</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp793d353261765afa0b856a99564c2800"></a>Definitions for the XUsbPs_GetStatus() function call 'StatusType' parameter. </p>
</td></tr>
<tr class="memitem:ga96ac93f4536cd0c0abeff764b0c752dd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga96ac93f4536cd0c0abeff764b0c752dd">XUSBPS_EP_STS_ADDRESS</a>&#160;&#160;&#160;1</td></tr>
<tr class="memdesc:ga96ac93f4536cd0c0abeff764b0c752dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Address of controller.  <a href="#ga96ac93f4536cd0c0abeff764b0c752dd">More...</a><br/></td></tr>
<tr class="separator:ga96ac93f4536cd0c0abeff764b0c752dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga23671067697bfc0ea6b0a688cee5de2b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga23671067697bfc0ea6b0a688cee5de2b">XUSBPS_EP_STS_CONTROLLER_STATE</a>&#160;&#160;&#160;2</td></tr>
<tr class="memdesc:ga23671067697bfc0ea6b0a688cee5de2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Current controller state.  <a href="#ga23671067697bfc0ea6b0a688cee5de2b">More...</a><br/></td></tr>
<tr class="separator:ga23671067697bfc0ea6b0a688cee5de2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
USB Default alternate setting</h2></td></tr>
<tr class="memitem:gad86f6c8b6ff536870e40a018308ee9d7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gad86f6c8b6ff536870e40a018308ee9d7">XUSBPS_DEFAULT_ALT_SETTING</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:gad86f6c8b6ff536870e40a018308ee9d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">The default alternate setting is 0.  <a href="#gad86f6c8b6ff536870e40a018308ee9d7">More...</a><br/></td></tr>
<tr class="separator:gad86f6c8b6ff536870e40a018308ee9d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Endpoint event types</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrpb53b7aa8814ae5f264500ee3e60943d6"></a>Definitions that are used to identify events that occur on endpoints.</p>
<p>Passed to the endpoint event handler functions registered with <a class="el" href="group__usbps.html#ga04fb0b564bcd01cdf33e29ca2732656a" title="This function sets the handler for endpoint events. ">XUsbPs_EpSetHandler()</a>. </p>
</td></tr>
<tr class="memitem:ga9934654d1c910d17fbeb9b5f75e96ecc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga9934654d1c910d17fbeb9b5f75e96ecc">XUSBPS_EP_EVENT_SETUP_DATA_RECEIVED</a>&#160;&#160;&#160;0x01</td></tr>
<tr class="memdesc:ga9934654d1c910d17fbeb9b5f75e96ecc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup data has been received on the endpoint.  <a href="#ga9934654d1c910d17fbeb9b5f75e96ecc">More...</a><br/></td></tr>
<tr class="separator:ga9934654d1c910d17fbeb9b5f75e96ecc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8915f71ea9bef90eed401a44a39d7dba"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga8915f71ea9bef90eed401a44a39d7dba">XUSBPS_EP_EVENT_DATA_RX</a>&#160;&#160;&#160;0x02</td></tr>
<tr class="memdesc:ga8915f71ea9bef90eed401a44a39d7dba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Data frame has been received on the endpoint.  <a href="#ga8915f71ea9bef90eed401a44a39d7dba">More...</a><br/></td></tr>
<tr class="separator:ga8915f71ea9bef90eed401a44a39d7dba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaf96bbc1cb4b4c7d1e3399027a2e4823"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gaaf96bbc1cb4b4c7d1e3399027a2e4823">XUSBPS_EP_EVENT_DATA_TX</a>&#160;&#160;&#160;0x03</td></tr>
<tr class="memdesc:gaaf96bbc1cb4b4c7d1e3399027a2e4823"><td class="mdescLeft">&#160;</td><td class="mdescRight">Data frame has been sent on the endpoint.  <a href="#gaaf96bbc1cb4b4c7d1e3399027a2e4823">More...</a><br/></td></tr>
<tr class="separator:gaaf96bbc1cb4b4c7d1e3399027a2e4823"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
dTD Next Link Pointer (dTDNLP) bit positions.</h2></td></tr>
<tr class="memitem:gabf5360d3750ba2dd97268829f1a3c34d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gabf5360d3750ba2dd97268829f1a3c34d">XUSBPS_dTDNLP_T_MASK</a>&#160;&#160;&#160;0x00000001</td></tr>
<tr class="memdesc:gabf5360d3750ba2dd97268829f1a3c34d"><td class="mdescLeft">&#160;</td><td class="mdescRight">USB dTD Next Link Pointer Terminate Bit.  <a href="#gabf5360d3750ba2dd97268829f1a3c34d">More...</a><br/></td></tr>
<tr class="separator:gabf5360d3750ba2dd97268829f1a3c34d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaba6835e9dc72c10c677e68be76e0c0d6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gaba6835e9dc72c10c677e68be76e0c0d6">XUSBPS_dTDNLP_ADDR_MASK</a>&#160;&#160;&#160;0xFFFFFFE0</td></tr>
<tr class="memdesc:gaba6835e9dc72c10c677e68be76e0c0d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">USB dTD Next Link Pointer Address [31:5].  <a href="#gaba6835e9dc72c10c677e68be76e0c0d6">More...</a><br/></td></tr>
<tr class="separator:gaba6835e9dc72c10c677e68be76e0c0d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
dTD Token (dTDTOKEN) bit positions.</h2></td></tr>
<tr class="memitem:ga233e424e29efeaac5f0336fff454c10a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga233e424e29efeaac5f0336fff454c10a">XUSBPS_dTDTOKEN_XERR_MASK</a>&#160;&#160;&#160;0x00000008</td></tr>
<tr class="memdesc:ga233e424e29efeaac5f0336fff454c10a"><td class="mdescLeft">&#160;</td><td class="mdescRight">dTD Transaction Error  <a href="#ga233e424e29efeaac5f0336fff454c10a">More...</a><br/></td></tr>
<tr class="separator:ga233e424e29efeaac5f0336fff454c10a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7bc5a6c4293c2877587f30173a4d0629"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga7bc5a6c4293c2877587f30173a4d0629">XUSBPS_dTDTOKEN_BUFERR_MASK</a>&#160;&#160;&#160;0x00000020</td></tr>
<tr class="memdesc:ga7bc5a6c4293c2877587f30173a4d0629"><td class="mdescLeft">&#160;</td><td class="mdescRight">dTD Data Buffer Error  <a href="#ga7bc5a6c4293c2877587f30173a4d0629">More...</a><br/></td></tr>
<tr class="separator:ga7bc5a6c4293c2877587f30173a4d0629"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad7a9ea369a462c6c667cce07639191a6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gad7a9ea369a462c6c667cce07639191a6">XUSBPS_dTDTOKEN_HALT_MASK</a>&#160;&#160;&#160;0x00000040</td></tr>
<tr class="memdesc:gad7a9ea369a462c6c667cce07639191a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">dTD Halted Flag  <a href="#gad7a9ea369a462c6c667cce07639191a6">More...</a><br/></td></tr>
<tr class="separator:gad7a9ea369a462c6c667cce07639191a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5e3ba25e78a33f9f7676109281cbad59"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga5e3ba25e78a33f9f7676109281cbad59">XUSBPS_dTDTOKEN_ACTIVE_MASK</a>&#160;&#160;&#160;0x00000080</td></tr>
<tr class="memdesc:ga5e3ba25e78a33f9f7676109281cbad59"><td class="mdescLeft">&#160;</td><td class="mdescRight">dTD Active Bit  <a href="#ga5e3ba25e78a33f9f7676109281cbad59">More...</a><br/></td></tr>
<tr class="separator:ga5e3ba25e78a33f9f7676109281cbad59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga79336f2e95c4eeb4a5c01ca58439a5f0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga79336f2e95c4eeb4a5c01ca58439a5f0">XUSBPS_dTDTOKEN_MULTO_MASK</a>&#160;&#160;&#160;0x00000C00</td></tr>
<tr class="memdesc:ga79336f2e95c4eeb4a5c01ca58439a5f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiplier Override Field [1:0].  <a href="#ga79336f2e95c4eeb4a5c01ca58439a5f0">More...</a><br/></td></tr>
<tr class="separator:ga79336f2e95c4eeb4a5c01ca58439a5f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaccc682692ac8a2864433eb6ae897683f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gaccc682692ac8a2864433eb6ae897683f">XUSBPS_dTDTOKEN_IOC_MASK</a>&#160;&#160;&#160;0x00008000</td></tr>
<tr class="memdesc:gaccc682692ac8a2864433eb6ae897683f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interrupt on Complete Bit.  <a href="#gaccc682692ac8a2864433eb6ae897683f">More...</a><br/></td></tr>
<tr class="separator:gaccc682692ac8a2864433eb6ae897683f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga878b80a1e7e85f4f9a3360eb17812ace"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga878b80a1e7e85f4f9a3360eb17812ace">XUSBPS_dTDTOKEN_LEN_MASK</a>&#160;&#160;&#160;0x7FFF0000</td></tr>
<tr class="memdesc:ga878b80a1e7e85f4f9a3360eb17812ace"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transfer Length Field.  <a href="#ga878b80a1e7e85f4f9a3360eb17812ace">More...</a><br/></td></tr>
<tr class="separator:ga878b80a1e7e85f4f9a3360eb17812ace"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
dQH Configuration (dQHCFG) bit positions.</h2></td></tr>
<tr class="memitem:gad5a24bb56460eb7694a22c569daf2c7f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gad5a24bb56460eb7694a22c569daf2c7f">XUSBPS_dQHCFG_IOS_MASK</a>&#160;&#160;&#160;0x00008000</td></tr>
<tr class="memdesc:gad5a24bb56460eb7694a22c569daf2c7f"><td class="mdescLeft">&#160;</td><td class="mdescRight">USB dQH Interrupt on Setup Bit.  <a href="#gad5a24bb56460eb7694a22c569daf2c7f">More...</a><br/></td></tr>
<tr class="separator:gad5a24bb56460eb7694a22c569daf2c7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1a92ed1ac65951cb831a7a4700c57b29"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga1a92ed1ac65951cb831a7a4700c57b29">XUSBPS_dQHCFG_MPL_MASK</a>&#160;&#160;&#160;0x07FF0000</td></tr>
<tr class="memdesc:ga1a92ed1ac65951cb831a7a4700c57b29"><td class="mdescLeft">&#160;</td><td class="mdescRight">USB dQH Maximum Packet Length Field [10:0].  <a href="#ga1a92ed1ac65951cb831a7a4700c57b29">More...</a><br/></td></tr>
<tr class="separator:ga1a92ed1ac65951cb831a7a4700c57b29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa9faf8c7f6d63c5e298fe2da1bbe5729"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa9faf8c7f6d63c5e298fe2da1bbe5729"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XUSBPS_dQHCFG_MPL_SHIFT</b>&#160;&#160;&#160;16</td></tr>
<tr class="separator:gaa9faf8c7f6d63c5e298fe2da1bbe5729"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga06c22710a2c09b6df434da907fb54400"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga06c22710a2c09b6df434da907fb54400">XUSBPS_dQHCFG_ZLT_MASK</a>&#160;&#160;&#160;0x20000000</td></tr>
<tr class="memdesc:ga06c22710a2c09b6df434da907fb54400"><td class="mdescLeft">&#160;</td><td class="mdescRight">USB dQH Zero Length Termination Select Bit.  <a href="#ga06c22710a2c09b6df434da907fb54400">More...</a><br/></td></tr>
<tr class="separator:ga06c22710a2c09b6df434da907fb54400"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacfb4d5151d1fb61f53020b058692bb6d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gacfb4d5151d1fb61f53020b058692bb6d"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XUSBPS_dQHCFG_MULT_MASK</b>&#160;&#160;&#160;0xC0000000</td></tr>
<tr class="separator:gacfb4d5151d1fb61f53020b058692bb6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4f882a6f45cea8eb958c73a07b791b5b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga4f882a6f45cea8eb958c73a07b791b5b"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XUSBPS_dQHCFG_MULT_SHIFT</b>&#160;&#160;&#160;30</td></tr>
<tr class="separator:ga4f882a6f45cea8eb958c73a07b791b5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Timer 0 Register offsets</h2></td></tr>
<tr class="memitem:gac6316b1c386abf7f7523cfdfc8dc54ea"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac6316b1c386abf7f7523cfdfc8dc54ea"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XUSBPS_TIMER0_LD_OFFSET</b>&#160;&#160;&#160;0x00000080</td></tr>
<tr class="separator:gac6316b1c386abf7f7523cfdfc8dc54ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf7c6b9afa93b84998286417434bff9bc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf7c6b9afa93b84998286417434bff9bc"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XUSBPS_TIMER0_CTL_OFFSET</b>&#160;&#160;&#160;0x00000084</td></tr>
<tr class="separator:gaf7c6b9afa93b84998286417434bff9bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Timer Control Register bit mask</h2></td></tr>
<tr class="memitem:ga87e12fac25dadaf4481a4a7140c1bcc0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga87e12fac25dadaf4481a4a7140c1bcc0"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XUSBPS_TIMER_RUN_MASK</b>&#160;&#160;&#160;0x80000000</td></tr>
<tr class="separator:ga87e12fac25dadaf4481a4a7140c1bcc0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga513c365d30bccdd1fbdddecb54c6e021"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga513c365d30bccdd1fbdddecb54c6e021"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XUSBPS_TIMER_STOP_MASK</b>&#160;&#160;&#160;0x80000000</td></tr>
<tr class="separator:ga513c365d30bccdd1fbdddecb54c6e021"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacb0fddd0cf1f6147d0fb07d8b6b01fd8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gacb0fddd0cf1f6147d0fb07d8b6b01fd8"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XUSBPS_TIMER_RESET_MASK</b>&#160;&#160;&#160;0x40000000</td></tr>
<tr class="separator:gacb0fddd0cf1f6147d0fb07d8b6b01fd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gade6aa6ac5fe9946a1e985067e8c5f6fc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gade6aa6ac5fe9946a1e985067e8c5f6fc"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XUSBPS_TIMER_REPEAT_MASK</b>&#160;&#160;&#160;0x01000000</td></tr>
<tr class="separator:gade6aa6ac5fe9946a1e985067e8c5f6fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa4bd5ab3787a4eee54214fef61b39162"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa4bd5ab3787a4eee54214fef61b39162"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XUSBPS_TIMER_COUNTER_MASK</b>&#160;&#160;&#160;0x00FFFFFF</td></tr>
<tr class="separator:gaa4bd5ab3787a4eee54214fef61b39162"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Device Hardware Parameters</h2></td></tr>
<tr class="memitem:ga3aa9ba03ff76b09ab409d75054cf1273"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga3aa9ba03ff76b09ab409d75054cf1273"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XUSBPS_HWDEVICE_OFFSET</b>&#160;&#160;&#160;0x0000000C</td></tr>
<tr class="separator:ga3aa9ba03ff76b09ab409d75054cf1273"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa9dc8896035d0198bd0871dc812a655e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa9dc8896035d0198bd0871dc812a655e"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XUSBPS_EP_NUM_MASK</b>&#160;&#160;&#160;0x3E</td></tr>
<tr class="separator:gaa9dc8896035d0198bd0871dc812a655e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf7e50f02b39f767990951de880541500"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf7e50f02b39f767990951de880541500"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XUSBPS_EP_NUM_SHIFT</b>&#160;&#160;&#160;1</td></tr>
<tr class="separator:gaf7e50f02b39f767990951de880541500"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Capability Register offsets</h2></td></tr>
<tr class="memitem:ga288d3df39776a25491141a1e1b446633"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga288d3df39776a25491141a1e1b446633"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XUSBPS_HCSPARAMS_OFFSET</b>&#160;&#160;&#160;0x00000104</td></tr>
<tr class="separator:ga288d3df39776a25491141a1e1b446633"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Operational Register offsets.</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrpd44e430fcdb3c270b3c6d6a60632f130"></a>Register comments are tagged with "H:" and "D:" for Host and Device modes, respectively.</p>
<p>Tags are only present for registers that have a different meaning DEVICE and HOST modes. Most registers are only valid for either DEVICE or HOST mode. Those registers don't have tags. </p>
</td></tr>
<tr class="memitem:gaf4e60df9453b2ca88e075768c80eb362"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gaf4e60df9453b2ca88e075768c80eb362">XUSBPS_CMD_OFFSET</a>&#160;&#160;&#160;0x00000140</td></tr>
<tr class="memdesc:gaf4e60df9453b2ca88e075768c80eb362"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configuration.  <a href="#gaf4e60df9453b2ca88e075768c80eb362">More...</a><br/></td></tr>
<tr class="separator:gaf4e60df9453b2ca88e075768c80eb362"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae977cbceae698547d039d7fdd643b209"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gae977cbceae698547d039d7fdd643b209">XUSBPS_ISR_OFFSET</a>&#160;&#160;&#160;0x00000144</td></tr>
<tr class="memdesc:gae977cbceae698547d039d7fdd643b209"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interrupt Status.  <a href="#gae977cbceae698547d039d7fdd643b209">More...</a><br/></td></tr>
<tr class="separator:gae977cbceae698547d039d7fdd643b209"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabfe306519d91eb6e73e2758ef0e4022a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gabfe306519d91eb6e73e2758ef0e4022a">XUSBPS_IER_OFFSET</a>&#160;&#160;&#160;0x00000148</td></tr>
<tr class="memdesc:gabfe306519d91eb6e73e2758ef0e4022a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interrupt Enable.  <a href="#gabfe306519d91eb6e73e2758ef0e4022a">More...</a><br/></td></tr>
<tr class="separator:gabfe306519d91eb6e73e2758ef0e4022a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4157755424c1cf5507ad25cb27e279a1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga4157755424c1cf5507ad25cb27e279a1">XUSBPS_FRAME_OFFSET</a>&#160;&#160;&#160;0x0000014C</td></tr>
<tr class="memdesc:ga4157755424c1cf5507ad25cb27e279a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">USB Frame Index.  <a href="#ga4157755424c1cf5507ad25cb27e279a1">More...</a><br/></td></tr>
<tr class="separator:ga4157755424c1cf5507ad25cb27e279a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac554c295a361105374944e4e1da07aad"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gac554c295a361105374944e4e1da07aad">XUSBPS_LISTBASE_OFFSET</a>&#160;&#160;&#160;0x00000154</td></tr>
<tr class="memdesc:gac554c295a361105374944e4e1da07aad"><td class="mdescLeft">&#160;</td><td class="mdescRight">H: Periodic List Base Address.  <a href="#gac554c295a361105374944e4e1da07aad">More...</a><br/></td></tr>
<tr class="separator:gac554c295a361105374944e4e1da07aad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7a1a4003537baa17d4619dfc180daf53"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga7a1a4003537baa17d4619dfc180daf53">XUSBPS_DEVICEADDR_OFFSET</a>&#160;&#160;&#160;0x00000154</td></tr>
<tr class="memdesc:ga7a1a4003537baa17d4619dfc180daf53"><td class="mdescLeft">&#160;</td><td class="mdescRight">D: Device Address.  <a href="#ga7a1a4003537baa17d4619dfc180daf53">More...</a><br/></td></tr>
<tr class="separator:ga7a1a4003537baa17d4619dfc180daf53"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5321ce3c50f36383f51d1d8ccea520f3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga5321ce3c50f36383f51d1d8ccea520f3">XUSBPS_ASYNCLISTADDR_OFFSET</a>&#160;&#160;&#160;0x00000158</td></tr>
<tr class="memdesc:ga5321ce3c50f36383f51d1d8ccea520f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">H: Async List Address.  <a href="#ga5321ce3c50f36383f51d1d8ccea520f3">More...</a><br/></td></tr>
<tr class="separator:ga5321ce3c50f36383f51d1d8ccea520f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae47d112e0a25161d88dfbb8e34feeb9e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gae47d112e0a25161d88dfbb8e34feeb9e">XUSBPS_EPLISTADDR_OFFSET</a>&#160;&#160;&#160;0x00000158</td></tr>
<tr class="memdesc:gae47d112e0a25161d88dfbb8e34feeb9e"><td class="mdescLeft">&#160;</td><td class="mdescRight">D: Endpoint List Addr.  <a href="#gae47d112e0a25161d88dfbb8e34feeb9e">More...</a><br/></td></tr>
<tr class="separator:gae47d112e0a25161d88dfbb8e34feeb9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaeaa8a496dfe864a918d3128416ea13fd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gaeaa8a496dfe864a918d3128416ea13fd">XUSBPS_TTCTRL_OFFSET</a>&#160;&#160;&#160;0x0000015C</td></tr>
<tr class="memdesc:gaeaa8a496dfe864a918d3128416ea13fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">TT Control.  <a href="#gaeaa8a496dfe864a918d3128416ea13fd">More...</a><br/></td></tr>
<tr class="separator:gaeaa8a496dfe864a918d3128416ea13fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae997f50920e8068fa2e19d5ae2d9acdf"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gae997f50920e8068fa2e19d5ae2d9acdf">XUSBPS_BURSTSIZE_OFFSET</a>&#160;&#160;&#160;0x00000160</td></tr>
<tr class="memdesc:gae997f50920e8068fa2e19d5ae2d9acdf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Burst Size.  <a href="#gae997f50920e8068fa2e19d5ae2d9acdf">More...</a><br/></td></tr>
<tr class="separator:gae997f50920e8068fa2e19d5ae2d9acdf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf9690c347e4d95007f1dfdf243630414"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gaf9690c347e4d95007f1dfdf243630414">XUSBPS_TXFILL_OFFSET</a>&#160;&#160;&#160;0x00000164</td></tr>
<tr class="memdesc:gaf9690c347e4d95007f1dfdf243630414"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tx Fill Tuning.  <a href="#gaf9690c347e4d95007f1dfdf243630414">More...</a><br/></td></tr>
<tr class="separator:gaf9690c347e4d95007f1dfdf243630414"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga464998ead6aa79a089f18bb1e9e04be4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga464998ead6aa79a089f18bb1e9e04be4">XUSBPS_ULPIVIEW_OFFSET</a>&#160;&#160;&#160;0x00000170</td></tr>
<tr class="memdesc:ga464998ead6aa79a089f18bb1e9e04be4"><td class="mdescLeft">&#160;</td><td class="mdescRight">ULPI Viewport.  <a href="#ga464998ead6aa79a089f18bb1e9e04be4">More...</a><br/></td></tr>
<tr class="separator:ga464998ead6aa79a089f18bb1e9e04be4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7f16bb1d54ffe9b9edf7ffc2a5b3bc2e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga7f16bb1d54ffe9b9edf7ffc2a5b3bc2e">XUSBPS_EPNAKISR_OFFSET</a>&#160;&#160;&#160;0x00000178</td></tr>
<tr class="memdesc:ga7f16bb1d54ffe9b9edf7ffc2a5b3bc2e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Endpoint NAK IRQ Status.  <a href="#ga7f16bb1d54ffe9b9edf7ffc2a5b3bc2e">More...</a><br/></td></tr>
<tr class="separator:ga7f16bb1d54ffe9b9edf7ffc2a5b3bc2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3dc13210f377cd5cfd68d6c0384c8eb4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga3dc13210f377cd5cfd68d6c0384c8eb4">XUSBPS_EPNAKIER_OFFSET</a>&#160;&#160;&#160;0x0000017C</td></tr>
<tr class="memdesc:ga3dc13210f377cd5cfd68d6c0384c8eb4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Endpoint NAK IRQ Enable.  <a href="#ga3dc13210f377cd5cfd68d6c0384c8eb4">More...</a><br/></td></tr>
<tr class="separator:ga3dc13210f377cd5cfd68d6c0384c8eb4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3e6302971cb6f32b61bd601152babdfd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga3e6302971cb6f32b61bd601152babdfd">XUSBPS_PORTSCR1_OFFSET</a>&#160;&#160;&#160;0x00000184</td></tr>
<tr class="memdesc:ga3e6302971cb6f32b61bd601152babdfd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Port Control/Status 1.  <a href="#ga3e6302971cb6f32b61bd601152babdfd">More...</a><br/></td></tr>
<tr class="separator:ga3e6302971cb6f32b61bd601152babdfd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaeb71200b8df84e2d1ac16ef46c9aa051"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaeb71200b8df84e2d1ac16ef46c9aa051"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XUSBPS_PORTSCRn_OFFSET</b>(n)&#160;&#160;&#160;(<a class="el" href="group__usbps.html#ga3e6302971cb6f32b61bd601152babdfd">XUSBPS_PORTSCR1_OFFSET</a> + (((n)-1) * XUSBPS_REG_SPACING))</td></tr>
<tr class="separator:gaeb71200b8df84e2d1ac16ef46c9aa051"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga41f69a3714eb428a049d90b3d1f8ae63"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga41f69a3714eb428a049d90b3d1f8ae63">XUSBPS_OTGCSR_OFFSET</a>&#160;&#160;&#160;0x000001A4</td></tr>
<tr class="memdesc:ga41f69a3714eb428a049d90b3d1f8ae63"><td class="mdescLeft">&#160;</td><td class="mdescRight">OTG Status and Control.  <a href="#ga41f69a3714eb428a049d90b3d1f8ae63">More...</a><br/></td></tr>
<tr class="separator:ga41f69a3714eb428a049d90b3d1f8ae63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7859e516b7713cfa335263a8300ab868"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga7859e516b7713cfa335263a8300ab868">XUSBPS_MODE_OFFSET</a>&#160;&#160;&#160;0x000001A8</td></tr>
<tr class="memdesc:ga7859e516b7713cfa335263a8300ab868"><td class="mdescLeft">&#160;</td><td class="mdescRight">USB Mode.  <a href="#ga7859e516b7713cfa335263a8300ab868">More...</a><br/></td></tr>
<tr class="separator:ga7859e516b7713cfa335263a8300ab868"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga91f2b4b1ac7ef9af2fae37c11bf79365"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga91f2b4b1ac7ef9af2fae37c11bf79365">XUSBPS_EPSTAT_OFFSET</a>&#160;&#160;&#160;0x000001AC</td></tr>
<tr class="memdesc:ga91f2b4b1ac7ef9af2fae37c11bf79365"><td class="mdescLeft">&#160;</td><td class="mdescRight">Endpoint Setup Status.  <a href="#ga91f2b4b1ac7ef9af2fae37c11bf79365">More...</a><br/></td></tr>
<tr class="separator:ga91f2b4b1ac7ef9af2fae37c11bf79365"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacc291723213710b2c1cef056a0a96853"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gacc291723213710b2c1cef056a0a96853">XUSBPS_EPPRIME_OFFSET</a>&#160;&#160;&#160;0x000001B0</td></tr>
<tr class="memdesc:gacc291723213710b2c1cef056a0a96853"><td class="mdescLeft">&#160;</td><td class="mdescRight">Endpoint Prime.  <a href="#gacc291723213710b2c1cef056a0a96853">More...</a><br/></td></tr>
<tr class="separator:gacc291723213710b2c1cef056a0a96853"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga62f7e5327dfbd7d8dc083194861a406e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga62f7e5327dfbd7d8dc083194861a406e">XUSBPS_EPFLUSH_OFFSET</a>&#160;&#160;&#160;0x000001B4</td></tr>
<tr class="memdesc:ga62f7e5327dfbd7d8dc083194861a406e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Endpoint Flush.  <a href="#ga62f7e5327dfbd7d8dc083194861a406e">More...</a><br/></td></tr>
<tr class="separator:ga62f7e5327dfbd7d8dc083194861a406e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9838825b6c5b76393e3a5fb213caad2a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga9838825b6c5b76393e3a5fb213caad2a">XUSBPS_EPRDY_OFFSET</a>&#160;&#160;&#160;0x000001B8</td></tr>
<tr class="memdesc:ga9838825b6c5b76393e3a5fb213caad2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Endpoint Ready.  <a href="#ga9838825b6c5b76393e3a5fb213caad2a">More...</a><br/></td></tr>
<tr class="separator:ga9838825b6c5b76393e3a5fb213caad2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad237b5e446825307327dfe71c04d2899"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gad237b5e446825307327dfe71c04d2899">XUSBPS_EPCOMPL_OFFSET</a>&#160;&#160;&#160;0x000001BC</td></tr>
<tr class="memdesc:gad237b5e446825307327dfe71c04d2899"><td class="mdescLeft">&#160;</td><td class="mdescRight">Endpoint Complete.  <a href="#gad237b5e446825307327dfe71c04d2899">More...</a><br/></td></tr>
<tr class="separator:gad237b5e446825307327dfe71c04d2899"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga47cd1331f4eda4da4cee67b803da7165"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga47cd1331f4eda4da4cee67b803da7165">XUSBPS_EPCR0_OFFSET</a>&#160;&#160;&#160;0x000001C0</td></tr>
<tr class="memdesc:ga47cd1331f4eda4da4cee67b803da7165"><td class="mdescLeft">&#160;</td><td class="mdescRight">Endpoint Control 0.  <a href="#ga47cd1331f4eda4da4cee67b803da7165">More...</a><br/></td></tr>
<tr class="separator:ga47cd1331f4eda4da4cee67b803da7165"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga102e27fd21789376f375b89fb3094d85"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga102e27fd21789376f375b89fb3094d85">XUSBPS_EPCR1_OFFSET</a>&#160;&#160;&#160;0x000001C4</td></tr>
<tr class="memdesc:ga102e27fd21789376f375b89fb3094d85"><td class="mdescLeft">&#160;</td><td class="mdescRight">Endpoint Control 1.  <a href="#ga102e27fd21789376f375b89fb3094d85">More...</a><br/></td></tr>
<tr class="separator:ga102e27fd21789376f375b89fb3094d85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga88c59c60df165a37c9a47fc90d920d35"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga88c59c60df165a37c9a47fc90d920d35">XUSBPS_EPCR2_OFFSET</a>&#160;&#160;&#160;0x000001C8</td></tr>
<tr class="memdesc:ga88c59c60df165a37c9a47fc90d920d35"><td class="mdescLeft">&#160;</td><td class="mdescRight">Endpoint Control 2.  <a href="#ga88c59c60df165a37c9a47fc90d920d35">More...</a><br/></td></tr>
<tr class="separator:ga88c59c60df165a37c9a47fc90d920d35"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa484c437af02a5385fdfabac4d7ee258"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gaa484c437af02a5385fdfabac4d7ee258">XUSBPS_EPCR3_OFFSET</a>&#160;&#160;&#160;0x000001CC</td></tr>
<tr class="memdesc:gaa484c437af02a5385fdfabac4d7ee258"><td class="mdescLeft">&#160;</td><td class="mdescRight">Endpoint Control 3.  <a href="#gaa484c437af02a5385fdfabac4d7ee258">More...</a><br/></td></tr>
<tr class="separator:gaa484c437af02a5385fdfabac4d7ee258"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga179659458416aa39985cccf15fa9f907"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga179659458416aa39985cccf15fa9f907">XUSBPS_EPCR4_OFFSET</a>&#160;&#160;&#160;0x000001D0</td></tr>
<tr class="memdesc:ga179659458416aa39985cccf15fa9f907"><td class="mdescLeft">&#160;</td><td class="mdescRight">Endpoint Control 4.  <a href="#ga179659458416aa39985cccf15fa9f907">More...</a><br/></td></tr>
<tr class="separator:ga179659458416aa39985cccf15fa9f907"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa28f8c4ae7ed59f8408db86869b3fd45"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gaa28f8c4ae7ed59f8408db86869b3fd45">XUSBPS_MAX_ENDPOINTS</a>&#160;&#160;&#160;12</td></tr>
<tr class="memdesc:gaa28f8c4ae7ed59f8408db86869b3fd45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of supported Endpoints in this core.  <a href="#gaa28f8c4ae7ed59f8408db86869b3fd45">More...</a><br/></td></tr>
<tr class="separator:gaa28f8c4ae7ed59f8408db86869b3fd45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga677f89e935e0c9b679090d70fa4046d0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga677f89e935e0c9b679090d70fa4046d0">XUSBPS_EP_OUT_MASK</a>&#160;&#160;&#160;0x00000FFF</td></tr>
<tr class="memdesc:ga677f89e935e0c9b679090d70fa4046d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">OUR (RX) endpoint mask.  <a href="#ga677f89e935e0c9b679090d70fa4046d0">More...</a><br/></td></tr>
<tr class="separator:ga677f89e935e0c9b679090d70fa4046d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad1dbbbae10dd87179c81c9e899e4af8f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gad1dbbbae10dd87179c81c9e899e4af8f">XUSBPS_EP_IN_MASK</a>&#160;&#160;&#160;0x0FFF0000</td></tr>
<tr class="memdesc:gad1dbbbae10dd87179c81c9e899e4af8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">IN (TX) endpoint mask.  <a href="#gad1dbbbae10dd87179c81c9e899e4af8f">More...</a><br/></td></tr>
<tr class="separator:gad1dbbbae10dd87179c81c9e899e4af8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaad8c8159ca5944bbb672dbecd2ca4e2e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gaad8c8159ca5944bbb672dbecd2ca4e2e">XUSBPS_EP_ALL_MASK</a>&#160;&#160;&#160;0x0FFF0FFF</td></tr>
<tr class="memdesc:gaad8c8159ca5944bbb672dbecd2ca4e2e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mask used for endpoint control registers.  <a href="#gaad8c8159ca5944bbb672dbecd2ca4e2e">More...</a><br/></td></tr>
<tr class="separator:gaad8c8159ca5944bbb672dbecd2ca4e2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf457832b3446572ed58cc64bfd668d73"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf457832b3446572ed58cc64bfd668d73"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XUSBPS_EPCRn_OFFSET</b>(n)&#160;&#160;&#160;(<a class="el" href="group__usbps.html#ga47cd1331f4eda4da4cee67b803da7165">XUSBPS_EPCR0_OFFSET</a> + ((n) * XUSBPS_REG_SPACING))</td></tr>
<tr class="separator:gaf457832b3446572ed58cc64bfd668d73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa80d1012ad67ac687495e255fb0356e3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa80d1012ad67ac687495e255fb0356e3"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XUSBPS_EPFLUSH_RX_SHIFT</b>&#160;&#160;&#160;0</td></tr>
<tr class="separator:gaa80d1012ad67ac687495e255fb0356e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7ccddfc11a06ca28d7c1bb1086e1d66c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7ccddfc11a06ca28d7c1bb1086e1d66c"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XUSBPS_EPFLUSH_TX_SHIFT</b>&#160;&#160;&#160;16</td></tr>
<tr class="separator:ga7ccddfc11a06ca28d7c1bb1086e1d66c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Endpoint Control Register (EPCR) bit positions.</h2></td></tr>
<tr class="memitem:ga476173028b28be44bb63aeae85d4ab5a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga476173028b28be44bb63aeae85d4ab5a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XUSBPS_EPCR_TXT_TYPE_SHIFT</b>&#160;&#160;&#160;18	/* &lt; Endpoint Type - TX bit shift*/</td></tr>
<tr class="separator:ga476173028b28be44bb63aeae85d4ab5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga299d0aead186ee0e108dcfffd2ba4265"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga299d0aead186ee0e108dcfffd2ba4265"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XUSBPS_EPCR_TXT_TYPE_MASK</b>&#160;&#160;&#160;0x000C0000	/* &lt; Endpoint Type - TX read only*/</td></tr>
<tr class="separator:ga299d0aead186ee0e108dcfffd2ba4265"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3866e020e7b739816e87e78dbeea208c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga3866e020e7b739816e87e78dbeea208c">XUSBPS_EPCR_TXT_CONTROL_MASK</a>&#160;&#160;&#160;0x00000000</td></tr>
<tr class="memdesc:ga3866e020e7b739816e87e78dbeea208c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Control Endpoint - TX.  <a href="#ga3866e020e7b739816e87e78dbeea208c">More...</a><br/></td></tr>
<tr class="separator:ga3866e020e7b739816e87e78dbeea208c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga30f6b3f0547db933121cd41cc9b6385d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga30f6b3f0547db933121cd41cc9b6385d">XUSBPS_EPCR_TXT_ISO_MASK</a>&#160;&#160;&#160;0x00040000</td></tr>
<tr class="memdesc:ga30f6b3f0547db933121cd41cc9b6385d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Isochronous.  <a href="#ga30f6b3f0547db933121cd41cc9b6385d">More...</a><br/></td></tr>
<tr class="separator:ga30f6b3f0547db933121cd41cc9b6385d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga14f191015affc97b3a9c990c2d68de4c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga14f191015affc97b3a9c990c2d68de4c">XUSBPS_EPCR_TXT_BULK_MASK</a>&#160;&#160;&#160;0x00080000</td></tr>
<tr class="memdesc:ga14f191015affc97b3a9c990c2d68de4c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bulk Endpoint - TX.  <a href="#ga14f191015affc97b3a9c990c2d68de4c">More...</a><br/></td></tr>
<tr class="separator:ga14f191015affc97b3a9c990c2d68de4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2172deb3828fcd099fe9a847ee125d09"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga2172deb3828fcd099fe9a847ee125d09">XUSBPS_EPCR_TXT_INTR_MASK</a>&#160;&#160;&#160;0x000C0000</td></tr>
<tr class="memdesc:ga2172deb3828fcd099fe9a847ee125d09"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interrupt Endpoint.  <a href="#ga2172deb3828fcd099fe9a847ee125d09">More...</a><br/></td></tr>
<tr class="separator:ga2172deb3828fcd099fe9a847ee125d09"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad22deb4883894f452b73ed38418970d0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gad22deb4883894f452b73ed38418970d0">XUSBPS_EPCR_TXS_MASK</a>&#160;&#160;&#160;0x00010000</td></tr>
<tr class="memdesc:gad22deb4883894f452b73ed38418970d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stall TX endpoint.  <a href="#gad22deb4883894f452b73ed38418970d0">More...</a><br/></td></tr>
<tr class="separator:gad22deb4883894f452b73ed38418970d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5cc1450fbbe3d6e525b363a2faf54575"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga5cc1450fbbe3d6e525b363a2faf54575">XUSBPS_EPCR_TXE_MASK</a>&#160;&#160;&#160;0x00800000</td></tr>
<tr class="memdesc:ga5cc1450fbbe3d6e525b363a2faf54575"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transmit enable - TX.  <a href="#ga5cc1450fbbe3d6e525b363a2faf54575">More...</a><br/></td></tr>
<tr class="separator:ga5cc1450fbbe3d6e525b363a2faf54575"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaec7cf9ddd4b206b68e8a6856c2393c53"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gaec7cf9ddd4b206b68e8a6856c2393c53">XUSBPS_EPCR_TXR_MASK</a>&#160;&#160;&#160;0x00400000</td></tr>
<tr class="memdesc:gaec7cf9ddd4b206b68e8a6856c2393c53"><td class="mdescLeft">&#160;</td><td class="mdescRight">Data Toggle Reset Bit.  <a href="#gaec7cf9ddd4b206b68e8a6856c2393c53">More...</a><br/></td></tr>
<tr class="separator:gaec7cf9ddd4b206b68e8a6856c2393c53"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2bf4128c68d29beeb4fc97ddd362c1a4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga2bf4128c68d29beeb4fc97ddd362c1a4"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XUSBPS_EPCR_RXT_TYPE_SHIFT</b>&#160;&#160;&#160;2	/* &lt; Endpoint Type - RX bit shift*/</td></tr>
<tr class="separator:ga2bf4128c68d29beeb4fc97ddd362c1a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga48f7291d1cb6051b93cd1a3c994311e6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga48f7291d1cb6051b93cd1a3c994311e6">XUSBPS_EPCR_RXT_TYPE_MASK</a>&#160;&#160;&#160;0x0000000C</td></tr>
<tr class="memdesc:ga48f7291d1cb6051b93cd1a3c994311e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Endpoint Type - RX read only.  <a href="#ga48f7291d1cb6051b93cd1a3c994311e6">More...</a><br/></td></tr>
<tr class="separator:ga48f7291d1cb6051b93cd1a3c994311e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0f2a51408fd7e0f8454611d4232446d7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga0f2a51408fd7e0f8454611d4232446d7">XUSBPS_EPCR_RXT_CONTROL_MASK</a>&#160;&#160;&#160;0x00000000</td></tr>
<tr class="memdesc:ga0f2a51408fd7e0f8454611d4232446d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Control Endpoint - RX.  <a href="#ga0f2a51408fd7e0f8454611d4232446d7">More...</a><br/></td></tr>
<tr class="separator:ga0f2a51408fd7e0f8454611d4232446d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga60e82ff6c8172020ae8ad6f9c9a63149"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga60e82ff6c8172020ae8ad6f9c9a63149">XUSBPS_EPCR_RXT_ISO_MASK</a>&#160;&#160;&#160;0x00000004</td></tr>
<tr class="memdesc:ga60e82ff6c8172020ae8ad6f9c9a63149"><td class="mdescLeft">&#160;</td><td class="mdescRight">Isochronous Endpoint.  <a href="#ga60e82ff6c8172020ae8ad6f9c9a63149">More...</a><br/></td></tr>
<tr class="separator:ga60e82ff6c8172020ae8ad6f9c9a63149"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafaa776284ac5e56996ab387ab825888b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gafaa776284ac5e56996ab387ab825888b">XUSBPS_EPCR_RXT_BULK_MASK</a>&#160;&#160;&#160;0x00000008</td></tr>
<tr class="memdesc:gafaa776284ac5e56996ab387ab825888b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bulk Endpoint - RX.  <a href="#gafaa776284ac5e56996ab387ab825888b">More...</a><br/></td></tr>
<tr class="separator:gafaa776284ac5e56996ab387ab825888b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf090efcf5f240254772e385f6b1ba3d0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gaf090efcf5f240254772e385f6b1ba3d0">XUSBPS_EPCR_RXT_INTR_MASK</a>&#160;&#160;&#160;0x0000000C</td></tr>
<tr class="memdesc:gaf090efcf5f240254772e385f6b1ba3d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interrupt Endpoint.  <a href="#gaf090efcf5f240254772e385f6b1ba3d0">More...</a><br/></td></tr>
<tr class="separator:gaf090efcf5f240254772e385f6b1ba3d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaf4f7b7545c284558f021aa3f68e45cc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gaaf4f7b7545c284558f021aa3f68e45cc">XUSBPS_EPCR_RXS_MASK</a>&#160;&#160;&#160;0x00000001</td></tr>
<tr class="memdesc:gaaf4f7b7545c284558f021aa3f68e45cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stall RX endpoint.  <a href="#gaaf4f7b7545c284558f021aa3f68e45cc">More...</a><br/></td></tr>
<tr class="separator:gaaf4f7b7545c284558f021aa3f68e45cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga47897095bd9001c405e4c1b43f4582cd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga47897095bd9001c405e4c1b43f4582cd">XUSBPS_EPCR_RXE_MASK</a>&#160;&#160;&#160;0x00000080</td></tr>
<tr class="memdesc:ga47897095bd9001c405e4c1b43f4582cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transmit enable.  <a href="#ga47897095bd9001c405e4c1b43f4582cd">More...</a><br/></td></tr>
<tr class="separator:ga47897095bd9001c405e4c1b43f4582cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9645d41ecd7e18e997368c2fb90abd1e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga9645d41ecd7e18e997368c2fb90abd1e">XUSBPS_EPCR_RXR_MASK</a>&#160;&#160;&#160;0x00000040</td></tr>
<tr class="memdesc:ga9645d41ecd7e18e997368c2fb90abd1e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Data Toggle Reset Bit.  <a href="#ga9645d41ecd7e18e997368c2fb90abd1e">More...</a><br/></td></tr>
<tr class="separator:ga9645d41ecd7e18e997368c2fb90abd1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
USB Command Register (CR) bit positions.</h2></td></tr>
<tr class="memitem:ga52456fec470f635fe4e25fbd586e0367"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga52456fec470f635fe4e25fbd586e0367">XUSBPS_CMD_RS_MASK</a>&#160;&#160;&#160;0x00000001</td></tr>
<tr class="memdesc:ga52456fec470f635fe4e25fbd586e0367"><td class="mdescLeft">&#160;</td><td class="mdescRight">Run/Stop.  <a href="#ga52456fec470f635fe4e25fbd586e0367">More...</a><br/></td></tr>
<tr class="separator:ga52456fec470f635fe4e25fbd586e0367"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0da6c04d3bd127161f774e9be81e5b51"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga0da6c04d3bd127161f774e9be81e5b51">XUSBPS_CMD_RST_MASK</a>&#160;&#160;&#160;0x00000002</td></tr>
<tr class="memdesc:ga0da6c04d3bd127161f774e9be81e5b51"><td class="mdescLeft">&#160;</td><td class="mdescRight">Controller RESET.  <a href="#ga0da6c04d3bd127161f774e9be81e5b51">More...</a><br/></td></tr>
<tr class="separator:ga0da6c04d3bd127161f774e9be81e5b51"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1ef25eb339410876cfa92d706bee097b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga1ef25eb339410876cfa92d706bee097b">XUSBPS_CMD_FS01_MASK</a>&#160;&#160;&#160;0x0000000C</td></tr>
<tr class="memdesc:ga1ef25eb339410876cfa92d706bee097b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Frame List Size bit 0,1.  <a href="#ga1ef25eb339410876cfa92d706bee097b">More...</a><br/></td></tr>
<tr class="separator:ga1ef25eb339410876cfa92d706bee097b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga96e40510dfd77182f6ef38fd2025fa3a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga96e40510dfd77182f6ef38fd2025fa3a">XUSBPS_CMD_PSE_MASK</a>&#160;&#160;&#160;0x00000010</td></tr>
<tr class="memdesc:ga96e40510dfd77182f6ef38fd2025fa3a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Periodic Sched Enable.  <a href="#ga96e40510dfd77182f6ef38fd2025fa3a">More...</a><br/></td></tr>
<tr class="separator:ga96e40510dfd77182f6ef38fd2025fa3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga445e9014663f5e2c20473c569170bb54"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga445e9014663f5e2c20473c569170bb54">XUSBPS_CMD_ASE_MASK</a>&#160;&#160;&#160;0x00000020</td></tr>
<tr class="memdesc:ga445e9014663f5e2c20473c569170bb54"><td class="mdescLeft">&#160;</td><td class="mdescRight">Async Sched Enable.  <a href="#ga445e9014663f5e2c20473c569170bb54">More...</a><br/></td></tr>
<tr class="separator:ga445e9014663f5e2c20473c569170bb54"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga10e2bd69c860448b3eb9ef32c5c926c2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga10e2bd69c860448b3eb9ef32c5c926c2">XUSBPS_CMD_IAA_MASK</a>&#160;&#160;&#160;0x00000040</td></tr>
<tr class="memdesc:ga10e2bd69c860448b3eb9ef32c5c926c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">IRQ Async Advance Doorbell.  <a href="#ga10e2bd69c860448b3eb9ef32c5c926c2">More...</a><br/></td></tr>
<tr class="separator:ga10e2bd69c860448b3eb9ef32c5c926c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf1a22648f59c9a2c24dc91d12505c035"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gaf1a22648f59c9a2c24dc91d12505c035">XUSBPS_CMD_ASP_MASK</a>&#160;&#160;&#160;0x00000300</td></tr>
<tr class="memdesc:gaf1a22648f59c9a2c24dc91d12505c035"><td class="mdescLeft">&#160;</td><td class="mdescRight">Async Sched Park Mode Cnt.  <a href="#gaf1a22648f59c9a2c24dc91d12505c035">More...</a><br/></td></tr>
<tr class="separator:gaf1a22648f59c9a2c24dc91d12505c035"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8636517a7767284c41a8757aac599035"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga8636517a7767284c41a8757aac599035">XUSBPS_CMD_ASPE_MASK</a>&#160;&#160;&#160;0x00000800</td></tr>
<tr class="memdesc:ga8636517a7767284c41a8757aac599035"><td class="mdescLeft">&#160;</td><td class="mdescRight">Async Sched Park Mode Enbl.  <a href="#ga8636517a7767284c41a8757aac599035">More...</a><br/></td></tr>
<tr class="separator:ga8636517a7767284c41a8757aac599035"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga28d755f3ecc320aea1c7f5d524c6ce04"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga28d755f3ecc320aea1c7f5d524c6ce04">XUSBPS_CMD_SUTW_MASK</a>&#160;&#160;&#160;0x00002000</td></tr>
<tr class="memdesc:ga28d755f3ecc320aea1c7f5d524c6ce04"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup TripWire.  <a href="#ga28d755f3ecc320aea1c7f5d524c6ce04">More...</a><br/></td></tr>
<tr class="separator:ga28d755f3ecc320aea1c7f5d524c6ce04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6e974e8398c962e180415baefcfee1ab"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga6e974e8398c962e180415baefcfee1ab">XUSBPS_CMD_ATDTW_MASK</a>&#160;&#160;&#160;0x00004000</td></tr>
<tr class="memdesc:ga6e974e8398c962e180415baefcfee1ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add dTD TripWire.  <a href="#ga6e974e8398c962e180415baefcfee1ab">More...</a><br/></td></tr>
<tr class="separator:ga6e974e8398c962e180415baefcfee1ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga75d04ab452a4907ec05d0103e604f3f1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga75d04ab452a4907ec05d0103e604f3f1">XUSBPS_CMD_FS2_MASK</a>&#160;&#160;&#160;0x00008000</td></tr>
<tr class="memdesc:ga75d04ab452a4907ec05d0103e604f3f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Frame List Size bit 2.  <a href="#ga75d04ab452a4907ec05d0103e604f3f1">More...</a><br/></td></tr>
<tr class="separator:ga75d04ab452a4907ec05d0103e604f3f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9026d4faa0ba3d40057687c9c3d58a34"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga9026d4faa0ba3d40057687c9c3d58a34">XUSBPS_CMD_ITC_MASK</a>&#160;&#160;&#160;0x00FF0000</td></tr>
<tr class="memdesc:ga9026d4faa0ba3d40057687c9c3d58a34"><td class="mdescLeft">&#160;</td><td class="mdescRight">IRQ Threshold Control.  <a href="#ga9026d4faa0ba3d40057687c9c3d58a34">More...</a><br/></td></tr>
<tr class="separator:ga9026d4faa0ba3d40057687c9c3d58a34"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Interrupt Threshold</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp430b3983a967631ba66f3311c9dff73c"></a>These definitions are used by software to set the maximum rate at which the USB controller will generate interrupt requests.</p>
<p>The interrupt interval is given in number of micro-frames.</p>
<p>USB defines a full-speed 1 ms frame time indicated by a Start Of Frame (SOF) packet each and every 1ms. USB also defines a high-speed micro-frame with a 125us frame time. For each micro-frame a SOF (Start Of Frame) packet is generated. Data is sent in between the SOF packets. The interrupt threshold defines how many micro-frames the controller waits before issuing an interrupt after data has been received.</p>
<p>For a threshold of 0 the controller will issue an interrupt immediately after the last byte of the data has been received. For a threshold n&gt;0 the controller will wait for n micro-frames before issuing an interrupt.</p>
<p>Therefore, a setting of 8 micro-frames (default) means that the controller will issue at most 1 interrupt per millisecond. </p>
</td></tr>
<tr class="memitem:gaf4288c56d0528bdcb84495dfaebc9007"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gaf4288c56d0528bdcb84495dfaebc9007">XUSBPS_CMD_ITHRESHOLD_0</a>&#160;&#160;&#160;0x00</td></tr>
<tr class="memdesc:gaf4288c56d0528bdcb84495dfaebc9007"><td class="mdescLeft">&#160;</td><td class="mdescRight">Immediate interrupt.  <a href="#gaf4288c56d0528bdcb84495dfaebc9007">More...</a><br/></td></tr>
<tr class="separator:gaf4288c56d0528bdcb84495dfaebc9007"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga79e8edf7ad76347325a0e0562806a3c4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga79e8edf7ad76347325a0e0562806a3c4">XUSBPS_CMD_ITHRESHOLD_1</a>&#160;&#160;&#160;0x01</td></tr>
<tr class="memdesc:ga79e8edf7ad76347325a0e0562806a3c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">1 micro-frame  <a href="#ga79e8edf7ad76347325a0e0562806a3c4">More...</a><br/></td></tr>
<tr class="separator:ga79e8edf7ad76347325a0e0562806a3c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab654fd8caf2d3f5b9801f0807c3ee0b5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gab654fd8caf2d3f5b9801f0807c3ee0b5">XUSBPS_CMD_ITHRESHOLD_2</a>&#160;&#160;&#160;0x02</td></tr>
<tr class="memdesc:gab654fd8caf2d3f5b9801f0807c3ee0b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">2 micro-frames  <a href="#gab654fd8caf2d3f5b9801f0807c3ee0b5">More...</a><br/></td></tr>
<tr class="separator:gab654fd8caf2d3f5b9801f0807c3ee0b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4081fb945f2380b16647f87280b449dd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga4081fb945f2380b16647f87280b449dd">XUSBPS_CMD_ITHRESHOLD_4</a>&#160;&#160;&#160;0x04</td></tr>
<tr class="memdesc:ga4081fb945f2380b16647f87280b449dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">4 micro-frames  <a href="#ga4081fb945f2380b16647f87280b449dd">More...</a><br/></td></tr>
<tr class="separator:ga4081fb945f2380b16647f87280b449dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad24ef70f4b1b14e938adea1a793b1daf"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gad24ef70f4b1b14e938adea1a793b1daf">XUSBPS_CMD_ITHRESHOLD_8</a>&#160;&#160;&#160;0x08</td></tr>
<tr class="memdesc:gad24ef70f4b1b14e938adea1a793b1daf"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 micro-frames  <a href="#gad24ef70f4b1b14e938adea1a793b1daf">More...</a><br/></td></tr>
<tr class="separator:gad24ef70f4b1b14e938adea1a793b1daf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga42d34ad767def3bd595e066bafba4ecc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga42d34ad767def3bd595e066bafba4ecc">XUSBPS_CMD_ITHRESHOLD_16</a>&#160;&#160;&#160;0x10</td></tr>
<tr class="memdesc:ga42d34ad767def3bd595e066bafba4ecc"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 micro-frames  <a href="#ga42d34ad767def3bd595e066bafba4ecc">More...</a><br/></td></tr>
<tr class="separator:ga42d34ad767def3bd595e066bafba4ecc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga31e120154b5d45da68d4ac5f80d5c5bc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga31e120154b5d45da68d4ac5f80d5c5bc">XUSBPS_CMD_ITHRESHOLD_32</a>&#160;&#160;&#160;0x20</td></tr>
<tr class="memdesc:ga31e120154b5d45da68d4ac5f80d5c5bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">32 micro-frames  <a href="#ga31e120154b5d45da68d4ac5f80d5c5bc">More...</a><br/></td></tr>
<tr class="separator:ga31e120154b5d45da68d4ac5f80d5c5bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaba3c4b08e2e61ae0c95bdb988cfa128b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gaba3c4b08e2e61ae0c95bdb988cfa128b">XUSBPS_CMD_ITHRESHOLD_64</a>&#160;&#160;&#160;0x40</td></tr>
<tr class="memdesc:gaba3c4b08e2e61ae0c95bdb988cfa128b"><td class="mdescLeft">&#160;</td><td class="mdescRight">64 micro-frames  <a href="#gaba3c4b08e2e61ae0c95bdb988cfa128b">More...</a><br/></td></tr>
<tr class="separator:gaba3c4b08e2e61ae0c95bdb988cfa128b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaefc51468c7aacc5b183a0670084e1409"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaefc51468c7aacc5b183a0670084e1409"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XUSBPS_CMD_ITHRESHOLD_MAX</b>&#160;&#160;&#160;<a class="el" href="group__usbps.html#gaba3c4b08e2e61ae0c95bdb988cfa128b">XUSBPS_CMD_ITHRESHOLD_64</a></td></tr>
<tr class="separator:gaefc51468c7aacc5b183a0670084e1409"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac3a961efc4fcd8d789a54eccbc146ac9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac3a961efc4fcd8d789a54eccbc146ac9"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XUSBPS_CMD_ITHRESHOLD_DEFAULT</b>&#160;&#160;&#160;<a class="el" href="group__usbps.html#gad24ef70f4b1b14e938adea1a793b1daf">XUSBPS_CMD_ITHRESHOLD_8</a></td></tr>
<tr class="separator:gac3a961efc4fcd8d789a54eccbc146ac9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
USB Interrupt Status Register (ISR) / Interrupt Enable Register (IER)</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp7370c5e86f327e854958659e12494374"></a>bit positions. </p>
</td></tr>
<tr class="memitem:ga6dcda0bc8640b4ab5cc9640fdfaead17"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga6dcda0bc8640b4ab5cc9640fdfaead17">XUSBPS_IXR_UI_MASK</a>&#160;&#160;&#160;0x00000001</td></tr>
<tr class="memdesc:ga6dcda0bc8640b4ab5cc9640fdfaead17"><td class="mdescLeft">&#160;</td><td class="mdescRight">USB Transaction Complete.  <a href="#ga6dcda0bc8640b4ab5cc9640fdfaead17">More...</a><br/></td></tr>
<tr class="separator:ga6dcda0bc8640b4ab5cc9640fdfaead17"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6b9c6b0fdde27b3422304b2572747c36"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga6b9c6b0fdde27b3422304b2572747c36">XUSBPS_IXR_UE_MASK</a>&#160;&#160;&#160;0x00000002</td></tr>
<tr class="memdesc:ga6b9c6b0fdde27b3422304b2572747c36"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transaction Error.  <a href="#ga6b9c6b0fdde27b3422304b2572747c36">More...</a><br/></td></tr>
<tr class="separator:ga6b9c6b0fdde27b3422304b2572747c36"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaefd37186c614c21596ccdcf496537401"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gaefd37186c614c21596ccdcf496537401">XUSBPS_IXR_PC_MASK</a>&#160;&#160;&#160;0x00000004</td></tr>
<tr class="memdesc:gaefd37186c614c21596ccdcf496537401"><td class="mdescLeft">&#160;</td><td class="mdescRight">Port Change Detect.  <a href="#gaefd37186c614c21596ccdcf496537401">More...</a><br/></td></tr>
<tr class="separator:gaefd37186c614c21596ccdcf496537401"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga89b19513ebf10f3dfca6c3e7324b3305"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga89b19513ebf10f3dfca6c3e7324b3305">XUSBPS_IXR_FRE_MASK</a>&#160;&#160;&#160;0x00000008</td></tr>
<tr class="memdesc:ga89b19513ebf10f3dfca6c3e7324b3305"><td class="mdescLeft">&#160;</td><td class="mdescRight">Frame List Rollover.  <a href="#ga89b19513ebf10f3dfca6c3e7324b3305">More...</a><br/></td></tr>
<tr class="separator:ga89b19513ebf10f3dfca6c3e7324b3305"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5c8f7aac750db18c9c7f2d422805f468"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga5c8f7aac750db18c9c7f2d422805f468">XUSBPS_IXR_AA_MASK</a>&#160;&#160;&#160;0x00000020</td></tr>
<tr class="memdesc:ga5c8f7aac750db18c9c7f2d422805f468"><td class="mdescLeft">&#160;</td><td class="mdescRight">Async Advance.  <a href="#ga5c8f7aac750db18c9c7f2d422805f468">More...</a><br/></td></tr>
<tr class="separator:ga5c8f7aac750db18c9c7f2d422805f468"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8c0544cefd69591cbf14e39dab946bd0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga8c0544cefd69591cbf14e39dab946bd0">XUSBPS_IXR_UR_MASK</a>&#160;&#160;&#160;0x00000040</td></tr>
<tr class="memdesc:ga8c0544cefd69591cbf14e39dab946bd0"><td class="mdescLeft">&#160;</td><td class="mdescRight">RESET Received.  <a href="#ga8c0544cefd69591cbf14e39dab946bd0">More...</a><br/></td></tr>
<tr class="separator:ga8c0544cefd69591cbf14e39dab946bd0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6dd182686bace6f43485e17d35745d35"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga6dd182686bace6f43485e17d35745d35">XUSBPS_IXR_SR_MASK</a>&#160;&#160;&#160;0x00000080</td></tr>
<tr class="memdesc:ga6dd182686bace6f43485e17d35745d35"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start of Frame.  <a href="#ga6dd182686bace6f43485e17d35745d35">More...</a><br/></td></tr>
<tr class="separator:ga6dd182686bace6f43485e17d35745d35"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafaaf3b4cbc99557f81b0973317cdcc09"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gafaaf3b4cbc99557f81b0973317cdcc09">XUSBPS_IXR_SLE_MASK</a>&#160;&#160;&#160;0x00000100</td></tr>
<tr class="memdesc:gafaaf3b4cbc99557f81b0973317cdcc09"><td class="mdescLeft">&#160;</td><td class="mdescRight">Device Controller Suspend.  <a href="#gafaaf3b4cbc99557f81b0973317cdcc09">More...</a><br/></td></tr>
<tr class="separator:gafaaf3b4cbc99557f81b0973317cdcc09"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga51bb44067023085967ed34685d4ba74b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga51bb44067023085967ed34685d4ba74b">XUSBPS_IXR_ULPI_MASK</a>&#160;&#160;&#160;0x00000400</td></tr>
<tr class="memdesc:ga51bb44067023085967ed34685d4ba74b"><td class="mdescLeft">&#160;</td><td class="mdescRight">ULPI IRQ.  <a href="#ga51bb44067023085967ed34685d4ba74b">More...</a><br/></td></tr>
<tr class="separator:ga51bb44067023085967ed34685d4ba74b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae829742dd3a9a2dda9b7655cdaa29ca9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gae829742dd3a9a2dda9b7655cdaa29ca9">XUSBPS_IXR_HCH_MASK</a>&#160;&#160;&#160;0x00001000</td></tr>
<tr class="memdesc:gae829742dd3a9a2dda9b7655cdaa29ca9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Host Controller Halted Read Only.  <a href="#gae829742dd3a9a2dda9b7655cdaa29ca9">More...</a><br/></td></tr>
<tr class="separator:gae829742dd3a9a2dda9b7655cdaa29ca9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga01b34cf5aa01ab7868f68a0d4adf4b12"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga01b34cf5aa01ab7868f68a0d4adf4b12">XUSBPS_IXR_RCL_MASK</a>&#160;&#160;&#160;0x00002000</td></tr>
<tr class="memdesc:ga01b34cf5aa01ab7868f68a0d4adf4b12"><td class="mdescLeft">&#160;</td><td class="mdescRight">USB Reclamation Read Only.  <a href="#ga01b34cf5aa01ab7868f68a0d4adf4b12">More...</a><br/></td></tr>
<tr class="separator:ga01b34cf5aa01ab7868f68a0d4adf4b12"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7d3bf450095dcc044d75bfb1d1e86c30"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga7d3bf450095dcc044d75bfb1d1e86c30">XUSBPS_IXR_PS_MASK</a>&#160;&#160;&#160;0x00004000</td></tr>
<tr class="memdesc:ga7d3bf450095dcc044d75bfb1d1e86c30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Periodic Sched Status Read Only.  <a href="#ga7d3bf450095dcc044d75bfb1d1e86c30">More...</a><br/></td></tr>
<tr class="separator:ga7d3bf450095dcc044d75bfb1d1e86c30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadb60fe887b1a5d0a53144bd07082af91"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gadb60fe887b1a5d0a53144bd07082af91">XUSBPS_IXR_AS_MASK</a>&#160;&#160;&#160;0x00008000</td></tr>
<tr class="memdesc:gadb60fe887b1a5d0a53144bd07082af91"><td class="mdescLeft">&#160;</td><td class="mdescRight">Async Sched Status Read only.  <a href="#gadb60fe887b1a5d0a53144bd07082af91">More...</a><br/></td></tr>
<tr class="separator:gadb60fe887b1a5d0a53144bd07082af91"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4ef9bc78622a7a9ec47e29490ceb3d8c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga4ef9bc78622a7a9ec47e29490ceb3d8c">XUSBPS_IXR_NAK_MASK</a>&#160;&#160;&#160;0x00010000</td></tr>
<tr class="memdesc:ga4ef9bc78622a7a9ec47e29490ceb3d8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">NAK IRQ.  <a href="#ga4ef9bc78622a7a9ec47e29490ceb3d8c">More...</a><br/></td></tr>
<tr class="separator:ga4ef9bc78622a7a9ec47e29490ceb3d8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0284786bedf698debb6aecc0049a703d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga0284786bedf698debb6aecc0049a703d">XUSBPS_IXR_UA_MASK</a>&#160;&#160;&#160;0x00040000</td></tr>
<tr class="memdesc:ga0284786bedf698debb6aecc0049a703d"><td class="mdescLeft">&#160;</td><td class="mdescRight">USB Host Async IRQ.  <a href="#ga0284786bedf698debb6aecc0049a703d">More...</a><br/></td></tr>
<tr class="separator:ga0284786bedf698debb6aecc0049a703d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga37d683771fc6d6a887eb18f730faa342"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga37d683771fc6d6a887eb18f730faa342">XUSBPS_IXR_UP_MASK</a>&#160;&#160;&#160;0x00080000</td></tr>
<tr class="memdesc:ga37d683771fc6d6a887eb18f730faa342"><td class="mdescLeft">&#160;</td><td class="mdescRight">USB Host Periodic IRQ.  <a href="#ga37d683771fc6d6a887eb18f730faa342">More...</a><br/></td></tr>
<tr class="separator:ga37d683771fc6d6a887eb18f730faa342"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga89ae73b749652ec302e0ead00ecc6cbe"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga89ae73b749652ec302e0ead00ecc6cbe">XUSBPS_IXR_TI0_MASK</a>&#160;&#160;&#160;0x01000000</td></tr>
<tr class="memdesc:ga89ae73b749652ec302e0ead00ecc6cbe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Timer 0 Interrupt.  <a href="#ga89ae73b749652ec302e0ead00ecc6cbe">More...</a><br/></td></tr>
<tr class="separator:ga89ae73b749652ec302e0ead00ecc6cbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga41e93b26e7efa8d80591fdd3a396a662"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga41e93b26e7efa8d80591fdd3a396a662">XUSBPS_IXR_TI1_MASK</a>&#160;&#160;&#160;0x02000000</td></tr>
<tr class="memdesc:ga41e93b26e7efa8d80591fdd3a396a662"><td class="mdescLeft">&#160;</td><td class="mdescRight">Timer 1 Interrupt.  <a href="#ga41e93b26e7efa8d80591fdd3a396a662">More...</a><br/></td></tr>
<tr class="separator:ga41e93b26e7efa8d80591fdd3a396a662"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabadf114268fe6ee2a2c709d7c8a79d99"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gabadf114268fe6ee2a2c709d7c8a79d99">XUSBPS_IXR_ALL</a></td></tr>
<tr class="memdesc:gabadf114268fe6ee2a2c709d7c8a79d99"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mask for ALL IRQ types.  <a href="#gabadf114268fe6ee2a2c709d7c8a79d99">More...</a><br/></td></tr>
<tr class="separator:gabadf114268fe6ee2a2c709d7c8a79d99"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
USB Mode Register (MODE) bit positions.</h2></td></tr>
<tr class="memitem:ga21895053e36613907d8dfd92e791080f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga21895053e36613907d8dfd92e791080f">XUSBPS_MODE_CM_MASK</a>&#160;&#160;&#160;0x00000003</td></tr>
<tr class="memdesc:ga21895053e36613907d8dfd92e791080f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Controller Mode Select.  <a href="#ga21895053e36613907d8dfd92e791080f">More...</a><br/></td></tr>
<tr class="separator:ga21895053e36613907d8dfd92e791080f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2584ece4e33dd1b3b8ed270483e67006"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga2584ece4e33dd1b3b8ed270483e67006"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XUSBPS_MODE_CM_IDLE_MASK</b>&#160;&#160;&#160;0x00000000</td></tr>
<tr class="separator:ga2584ece4e33dd1b3b8ed270483e67006"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga35e64f1039a95571e2d2915071275b30"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga35e64f1039a95571e2d2915071275b30"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XUSBPS_MODE_CM_DEVICE_MASK</b>&#160;&#160;&#160;0x00000002</td></tr>
<tr class="separator:ga35e64f1039a95571e2d2915071275b30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6ef571f1704ffd66e68d31f065a14534"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga6ef571f1704ffd66e68d31f065a14534"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XUSBPS_MODE_CM_HOST_MASK</b>&#160;&#160;&#160;0x00000003</td></tr>
<tr class="separator:ga6ef571f1704ffd66e68d31f065a14534"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8c0064a0ca9cb4bdfad9e2d4544a2181"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga8c0064a0ca9cb4bdfad9e2d4544a2181">XUSBPS_MODE_ES_MASK</a>&#160;&#160;&#160;0x00000004</td></tr>
<tr class="memdesc:ga8c0064a0ca9cb4bdfad9e2d4544a2181"><td class="mdescLeft">&#160;</td><td class="mdescRight">USB Endian Select.  <a href="#ga8c0064a0ca9cb4bdfad9e2d4544a2181">More...</a><br/></td></tr>
<tr class="separator:ga8c0064a0ca9cb4bdfad9e2d4544a2181"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga591b1b17bdb9a916c625e48e348b0a2f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga591b1b17bdb9a916c625e48e348b0a2f">XUSBPS_MODE_SLOM_MASK</a>&#160;&#160;&#160;0x00000008</td></tr>
<tr class="memdesc:ga591b1b17bdb9a916c625e48e348b0a2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">USB Setup Lockout Mode Disable.  <a href="#ga591b1b17bdb9a916c625e48e348b0a2f">More...</a><br/></td></tr>
<tr class="separator:ga591b1b17bdb9a916c625e48e348b0a2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga53d585fe56e075d9b0df9868a8771b7c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga53d585fe56e075d9b0df9868a8771b7c"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XUSBPS_MODE_SDIS_MASK</b>&#160;&#160;&#160;0x00000010</td></tr>
<tr class="separator:ga53d585fe56e075d9b0df9868a8771b7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4f22372bd3769bd9af4bf29c65d84167"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga4f22372bd3769bd9af4bf29c65d84167"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XUSBPS_MODE_VALID_MASK</b>&#160;&#160;&#160;0x0000001F</td></tr>
<tr class="separator:ga4f22372bd3769bd9af4bf29c65d84167"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
USB Device Address Register (DEVICEADDR) bit positions.</h2></td></tr>
<tr class="memitem:ga6a54eea03800ea6ee8ecce7f9fa09795"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga6a54eea03800ea6ee8ecce7f9fa09795">XUSBPS_DEVICEADDR_DEVICEAADV_MASK</a>&#160;&#160;&#160;0x01000000</td></tr>
<tr class="memdesc:ga6a54eea03800ea6ee8ecce7f9fa09795"><td class="mdescLeft">&#160;</td><td class="mdescRight">Device Addr Auto Advance.  <a href="#ga6a54eea03800ea6ee8ecce7f9fa09795">More...</a><br/></td></tr>
<tr class="separator:ga6a54eea03800ea6ee8ecce7f9fa09795"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae53b1b5887bad445e4428e70891a4d27"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gae53b1b5887bad445e4428e70891a4d27">XUSBPS_DEVICEADDR_ADDR_MASK</a>&#160;&#160;&#160;0xFE000000</td></tr>
<tr class="memdesc:gae53b1b5887bad445e4428e70891a4d27"><td class="mdescLeft">&#160;</td><td class="mdescRight">Device Address.  <a href="#gae53b1b5887bad445e4428e70891a4d27">More...</a><br/></td></tr>
<tr class="separator:gae53b1b5887bad445e4428e70891a4d27"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7839efccd693f5aa8c1b0685b891f760"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga7839efccd693f5aa8c1b0685b891f760">XUSBPS_DEVICEADDR_ADDR_SHIFT</a>&#160;&#160;&#160;25</td></tr>
<tr class="memdesc:ga7839efccd693f5aa8c1b0685b891f760"><td class="mdescLeft">&#160;</td><td class="mdescRight">Address shift.  <a href="#ga7839efccd693f5aa8c1b0685b891f760">More...</a><br/></td></tr>
<tr class="separator:ga7839efccd693f5aa8c1b0685b891f760"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga60a03ddaaa15885da8754417ec603c33"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga60a03ddaaa15885da8754417ec603c33">XUSBPS_DEVICEADDR_MAX</a>&#160;&#160;&#160;127</td></tr>
<tr class="memdesc:ga60a03ddaaa15885da8754417ec603c33"><td class="mdescLeft">&#160;</td><td class="mdescRight">Biggest allowed address.  <a href="#ga60a03ddaaa15885da8754417ec603c33">More...</a><br/></td></tr>
<tr class="separator:ga60a03ddaaa15885da8754417ec603c33"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
USB TT Control Register (TTCTRL) bit positions.</h2></td></tr>
<tr class="memitem:ga793766da0e2d717dbfa20163f4813087"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga793766da0e2d717dbfa20163f4813087">XUSBPS_TTCTRL_HUBADDR_MASK</a>&#160;&#160;&#160;0x7F000000</td></tr>
<tr class="memdesc:ga793766da0e2d717dbfa20163f4813087"><td class="mdescLeft">&#160;</td><td class="mdescRight">TT Hub Address.  <a href="#ga793766da0e2d717dbfa20163f4813087">More...</a><br/></td></tr>
<tr class="separator:ga793766da0e2d717dbfa20163f4813087"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
USB Burst Size Register (BURSTSIZE) bit posisions.</h2></td></tr>
<tr class="memitem:ga67534137eff9c7a3b0e09323a6816d7b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga67534137eff9c7a3b0e09323a6816d7b">XUSBPS_BURSTSIZE_RX_MASK</a>&#160;&#160;&#160;0x000000FF</td></tr>
<tr class="memdesc:ga67534137eff9c7a3b0e09323a6816d7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">RX Burst Length.  <a href="#ga67534137eff9c7a3b0e09323a6816d7b">More...</a><br/></td></tr>
<tr class="separator:ga67534137eff9c7a3b0e09323a6816d7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae6eb43af25aad5f13a79cdf1a419741d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gae6eb43af25aad5f13a79cdf1a419741d">XUSBPS_BURSTSIZE_TX_MASK</a>&#160;&#160;&#160;0x0000FF00</td></tr>
<tr class="memdesc:gae6eb43af25aad5f13a79cdf1a419741d"><td class="mdescLeft">&#160;</td><td class="mdescRight">TX Burst Length.  <a href="#gae6eb43af25aad5f13a79cdf1a419741d">More...</a><br/></td></tr>
<tr class="separator:gae6eb43af25aad5f13a79cdf1a419741d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
USB Tx Fill Tuning Register (TXFILL) bit positions.</h2></td></tr>
<tr class="memitem:ga4a9a9a77f1a2761587df8966ec13d031"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga4a9a9a77f1a2761587df8966ec13d031">XUSBPS_TXFILL_OVERHEAD_MASK</a>&#160;&#160;&#160;0x000000FF</td></tr>
<tr class="memdesc:ga4a9a9a77f1a2761587df8966ec13d031"><td class="mdescLeft">&#160;</td><td class="mdescRight">Scheduler Overhead.  <a href="#ga4a9a9a77f1a2761587df8966ec13d031">More...</a><br/></td></tr>
<tr class="separator:ga4a9a9a77f1a2761587df8966ec13d031"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacbc143cb51c906fc1b821b6a938490aa"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gacbc143cb51c906fc1b821b6a938490aa">XUSBPS_TXFILL_HEALTH_MASK</a>&#160;&#160;&#160;0x00001F00</td></tr>
<tr class="memdesc:gacbc143cb51c906fc1b821b6a938490aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Scheduler Health Cntr.  <a href="#gacbc143cb51c906fc1b821b6a938490aa">More...</a><br/></td></tr>
<tr class="separator:gacbc143cb51c906fc1b821b6a938490aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4d04065b099b8d1cd4b0eabde5810098"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga4d04065b099b8d1cd4b0eabde5810098">XUSBPS_TXFILL_BURST_MASK</a>&#160;&#160;&#160;0x003F0000</td></tr>
<tr class="memdesc:ga4d04065b099b8d1cd4b0eabde5810098"><td class="mdescLeft">&#160;</td><td class="mdescRight">FIFO Burst Threshold.  <a href="#ga4d04065b099b8d1cd4b0eabde5810098">More...</a><br/></td></tr>
<tr class="separator:ga4d04065b099b8d1cd4b0eabde5810098"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
USB ULPI Viewport Register (ULPIVIEW) bit positions.</h2></td></tr>
<tr class="memitem:ga0a4d270a758a6148ee610f9902180ba2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga0a4d270a758a6148ee610f9902180ba2">XUSBPS_ULPIVIEW_DATWR_MASK</a>&#160;&#160;&#160;0x000000FF</td></tr>
<tr class="memdesc:ga0a4d270a758a6148ee610f9902180ba2"><td class="mdescLeft">&#160;</td><td class="mdescRight">ULPI Data Write.  <a href="#ga0a4d270a758a6148ee610f9902180ba2">More...</a><br/></td></tr>
<tr class="separator:ga0a4d270a758a6148ee610f9902180ba2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0978f0c576857e7784856f6ef9ca197e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga0978f0c576857e7784856f6ef9ca197e">XUSBPS_ULPIVIEW_DATRD_MASK</a>&#160;&#160;&#160;0x0000FF00</td></tr>
<tr class="memdesc:ga0978f0c576857e7784856f6ef9ca197e"><td class="mdescLeft">&#160;</td><td class="mdescRight">ULPI Data Read.  <a href="#ga0978f0c576857e7784856f6ef9ca197e">More...</a><br/></td></tr>
<tr class="separator:ga0978f0c576857e7784856f6ef9ca197e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae3f07141aec7fafcc8becb6cdb0db654"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gae3f07141aec7fafcc8becb6cdb0db654">XUSBPS_ULPIVIEW_ADDR_MASK</a>&#160;&#160;&#160;0x00FF0000</td></tr>
<tr class="memdesc:gae3f07141aec7fafcc8becb6cdb0db654"><td class="mdescLeft">&#160;</td><td class="mdescRight">ULPI Data Address.  <a href="#gae3f07141aec7fafcc8becb6cdb0db654">More...</a><br/></td></tr>
<tr class="separator:gae3f07141aec7fafcc8becb6cdb0db654"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga93c88a0e5ad57a6436362e8fb41e90e2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga93c88a0e5ad57a6436362e8fb41e90e2">XUSBPS_ULPIVIEW_PORT_MASK</a>&#160;&#160;&#160;0x07000000</td></tr>
<tr class="memdesc:ga93c88a0e5ad57a6436362e8fb41e90e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">ULPI Port Number.  <a href="#ga93c88a0e5ad57a6436362e8fb41e90e2">More...</a><br/></td></tr>
<tr class="separator:ga93c88a0e5ad57a6436362e8fb41e90e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga32a5f6fd391848b7671fc16e8a97f05f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga32a5f6fd391848b7671fc16e8a97f05f">XUSBPS_ULPIVIEW_SS_MASK</a>&#160;&#160;&#160;0x08000000</td></tr>
<tr class="memdesc:ga32a5f6fd391848b7671fc16e8a97f05f"><td class="mdescLeft">&#160;</td><td class="mdescRight">ULPI Synchronous State.  <a href="#ga32a5f6fd391848b7671fc16e8a97f05f">More...</a><br/></td></tr>
<tr class="separator:ga32a5f6fd391848b7671fc16e8a97f05f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5f681007ccdbcc03cfb5a8cc768cff92"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga5f681007ccdbcc03cfb5a8cc768cff92">XUSBPS_ULPIVIEW_RW_MASK</a>&#160;&#160;&#160;0x20000000</td></tr>
<tr class="memdesc:ga5f681007ccdbcc03cfb5a8cc768cff92"><td class="mdescLeft">&#160;</td><td class="mdescRight">ULPI Read/Write Control.  <a href="#ga5f681007ccdbcc03cfb5a8cc768cff92">More...</a><br/></td></tr>
<tr class="separator:ga5f681007ccdbcc03cfb5a8cc768cff92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabf8b7addc203c447efc5ed6dad7f5674"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gabf8b7addc203c447efc5ed6dad7f5674">XUSBPS_ULPIVIEW_RUN_MASK</a>&#160;&#160;&#160;0x40000000</td></tr>
<tr class="memdesc:gabf8b7addc203c447efc5ed6dad7f5674"><td class="mdescLeft">&#160;</td><td class="mdescRight">ULPI Run.  <a href="#gabf8b7addc203c447efc5ed6dad7f5674">More...</a><br/></td></tr>
<tr class="separator:gabf8b7addc203c447efc5ed6dad7f5674"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaef6f3ff76a2d742eeec261cd4ebd2306"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gaef6f3ff76a2d742eeec261cd4ebd2306">XUSBPS_ULPIVIEW_WU_MASK</a>&#160;&#160;&#160;0x80000000</td></tr>
<tr class="memdesc:gaef6f3ff76a2d742eeec261cd4ebd2306"><td class="mdescLeft">&#160;</td><td class="mdescRight">ULPI Wakeup.  <a href="#gaef6f3ff76a2d742eeec261cd4ebd2306">More...</a><br/></td></tr>
<tr class="separator:gaef6f3ff76a2d742eeec261cd4ebd2306"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Port Status Control Register bit positions.</h2></td></tr>
<tr class="memitem:ga1f7ff22d780c1ee16c4d88099bcc2602"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga1f7ff22d780c1ee16c4d88099bcc2602">XUSBPS_PORTSCR_CCS_MASK</a>&#160;&#160;&#160;0x00000001</td></tr>
<tr class="memdesc:ga1f7ff22d780c1ee16c4d88099bcc2602"><td class="mdescLeft">&#160;</td><td class="mdescRight">Current Connect Status.  <a href="#ga1f7ff22d780c1ee16c4d88099bcc2602">More...</a><br/></td></tr>
<tr class="separator:ga1f7ff22d780c1ee16c4d88099bcc2602"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad37164741082835f3b861cad893941ff"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gad37164741082835f3b861cad893941ff">XUSBPS_PORTSCR_CSC_MASK</a>&#160;&#160;&#160;0x00000002</td></tr>
<tr class="memdesc:gad37164741082835f3b861cad893941ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connect Status Change.  <a href="#gad37164741082835f3b861cad893941ff">More...</a><br/></td></tr>
<tr class="separator:gad37164741082835f3b861cad893941ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab274c9ed03c6cbbc03db9dc3f3da455c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gab274c9ed03c6cbbc03db9dc3f3da455c">XUSBPS_PORTSCR_PE_MASK</a>&#160;&#160;&#160;0x00000004</td></tr>
<tr class="memdesc:gab274c9ed03c6cbbc03db9dc3f3da455c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Port Enable/Disable.  <a href="#gab274c9ed03c6cbbc03db9dc3f3da455c">More...</a><br/></td></tr>
<tr class="separator:gab274c9ed03c6cbbc03db9dc3f3da455c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2a26835d837358c1a734677185e29287"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga2a26835d837358c1a734677185e29287">XUSBPS_PORTSCR_PEC_MASK</a>&#160;&#160;&#160;0x00000008</td></tr>
<tr class="memdesc:ga2a26835d837358c1a734677185e29287"><td class="mdescLeft">&#160;</td><td class="mdescRight">Port Enable/Disable Change.  <a href="#ga2a26835d837358c1a734677185e29287">More...</a><br/></td></tr>
<tr class="separator:ga2a26835d837358c1a734677185e29287"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad99c26d2a08b184a68fe732358d89c72"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gad99c26d2a08b184a68fe732358d89c72">XUSBPS_PORTSCR_OCA_MASK</a>&#160;&#160;&#160;0x00000010</td></tr>
<tr class="memdesc:gad99c26d2a08b184a68fe732358d89c72"><td class="mdescLeft">&#160;</td><td class="mdescRight">Over-current Active.  <a href="#gad99c26d2a08b184a68fe732358d89c72">More...</a><br/></td></tr>
<tr class="separator:gad99c26d2a08b184a68fe732358d89c72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga68b7f81daf6dda1c9a6379af20932a5b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga68b7f81daf6dda1c9a6379af20932a5b">XUSBPS_PORTSCR_OCC_MASK</a>&#160;&#160;&#160;0x00000020</td></tr>
<tr class="memdesc:ga68b7f81daf6dda1c9a6379af20932a5b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Over-current Change.  <a href="#ga68b7f81daf6dda1c9a6379af20932a5b">More...</a><br/></td></tr>
<tr class="separator:ga68b7f81daf6dda1c9a6379af20932a5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga74d93aa96409e16a96e343829f8216ba"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga74d93aa96409e16a96e343829f8216ba">XUSBPS_PORTSCR_FPR_MASK</a>&#160;&#160;&#160;0x00000040</td></tr>
<tr class="memdesc:ga74d93aa96409e16a96e343829f8216ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Force Port Resume.  <a href="#ga74d93aa96409e16a96e343829f8216ba">More...</a><br/></td></tr>
<tr class="separator:ga74d93aa96409e16a96e343829f8216ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae9d4f360fcad407d434ca9b307d6b1da"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gae9d4f360fcad407d434ca9b307d6b1da">XUSBPS_PORTSCR_SUSP_MASK</a>&#160;&#160;&#160;0x00000080</td></tr>
<tr class="memdesc:gae9d4f360fcad407d434ca9b307d6b1da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Suspend.  <a href="#gae9d4f360fcad407d434ca9b307d6b1da">More...</a><br/></td></tr>
<tr class="separator:gae9d4f360fcad407d434ca9b307d6b1da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0fab2bb4be65fa0d3479a3d75f58e736"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga0fab2bb4be65fa0d3479a3d75f58e736">XUSBPS_PORTSCR_PR_MASK</a>&#160;&#160;&#160;0x00000100</td></tr>
<tr class="memdesc:ga0fab2bb4be65fa0d3479a3d75f58e736"><td class="mdescLeft">&#160;</td><td class="mdescRight">Port Reset.  <a href="#ga0fab2bb4be65fa0d3479a3d75f58e736">More...</a><br/></td></tr>
<tr class="separator:ga0fab2bb4be65fa0d3479a3d75f58e736"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga00ad12820a96f9aeb7bcbb226169129b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga00ad12820a96f9aeb7bcbb226169129b">XUSBPS_PORTSCR_HSP_MASK</a>&#160;&#160;&#160;0x00000200</td></tr>
<tr class="memdesc:ga00ad12820a96f9aeb7bcbb226169129b"><td class="mdescLeft">&#160;</td><td class="mdescRight">High Speed Port.  <a href="#ga00ad12820a96f9aeb7bcbb226169129b">More...</a><br/></td></tr>
<tr class="separator:ga00ad12820a96f9aeb7bcbb226169129b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8a608f17d2baad09aee1c4f73295bcb0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga8a608f17d2baad09aee1c4f73295bcb0">XUSBPS_PORTSCR_LS_MASK</a>&#160;&#160;&#160;0x00000C00</td></tr>
<tr class="memdesc:ga8a608f17d2baad09aee1c4f73295bcb0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Line Status.  <a href="#ga8a608f17d2baad09aee1c4f73295bcb0">More...</a><br/></td></tr>
<tr class="separator:ga8a608f17d2baad09aee1c4f73295bcb0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacdd58f1d06bae848a57d0a9e61905506"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gacdd58f1d06bae848a57d0a9e61905506">XUSBPS_PORTSCR_PP_MASK</a>&#160;&#160;&#160;0x00001000</td></tr>
<tr class="memdesc:gacdd58f1d06bae848a57d0a9e61905506"><td class="mdescLeft">&#160;</td><td class="mdescRight">Port Power.  <a href="#gacdd58f1d06bae848a57d0a9e61905506">More...</a><br/></td></tr>
<tr class="separator:gacdd58f1d06bae848a57d0a9e61905506"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3239c1f980bdbfea26b1820a201ea88c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga3239c1f980bdbfea26b1820a201ea88c">XUSBPS_PORTSCR_PO_MASK</a>&#160;&#160;&#160;0x00002000</td></tr>
<tr class="memdesc:ga3239c1f980bdbfea26b1820a201ea88c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Port Owner.  <a href="#ga3239c1f980bdbfea26b1820a201ea88c">More...</a><br/></td></tr>
<tr class="separator:ga3239c1f980bdbfea26b1820a201ea88c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga77a673c7bd65d70ebfdce6c4321f69bc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga77a673c7bd65d70ebfdce6c4321f69bc">XUSBPS_PORTSCR_PIC_MASK</a>&#160;&#160;&#160;0x0000C000</td></tr>
<tr class="memdesc:ga77a673c7bd65d70ebfdce6c4321f69bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Port Indicator Control.  <a href="#ga77a673c7bd65d70ebfdce6c4321f69bc">More...</a><br/></td></tr>
<tr class="separator:ga77a673c7bd65d70ebfdce6c4321f69bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga655cd7d9ae804719dfea41970e00c4c4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga655cd7d9ae804719dfea41970e00c4c4">XUSBPS_PORTSCR_PTC_MASK</a>&#160;&#160;&#160;0x000F0000</td></tr>
<tr class="memdesc:ga655cd7d9ae804719dfea41970e00c4c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Port Test Control.  <a href="#ga655cd7d9ae804719dfea41970e00c4c4">More...</a><br/></td></tr>
<tr class="separator:ga655cd7d9ae804719dfea41970e00c4c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaad32baeb49d1a6eb7d4940d6dde4a44b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gaad32baeb49d1a6eb7d4940d6dde4a44b">XUSBPS_PORTSCR_WKCN_MASK</a>&#160;&#160;&#160;0x00100000</td></tr>
<tr class="memdesc:gaad32baeb49d1a6eb7d4940d6dde4a44b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wake on Connect Enable.  <a href="#gaad32baeb49d1a6eb7d4940d6dde4a44b">More...</a><br/></td></tr>
<tr class="separator:gaad32baeb49d1a6eb7d4940d6dde4a44b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad40c098d22fd6b435845c3f7e6e27466"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gad40c098d22fd6b435845c3f7e6e27466">XUSBPS_PORTSCR_WKDS_MASK</a>&#160;&#160;&#160;0x00200000</td></tr>
<tr class="memdesc:gad40c098d22fd6b435845c3f7e6e27466"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wake on Disconnect Enable.  <a href="#gad40c098d22fd6b435845c3f7e6e27466">More...</a><br/></td></tr>
<tr class="separator:gad40c098d22fd6b435845c3f7e6e27466"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3aabd08d1fb46bf56b0ecf1f2723a62f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga3aabd08d1fb46bf56b0ecf1f2723a62f">XUSBPS_PORTSCR_WKOC_MASK</a>&#160;&#160;&#160;0x00400000</td></tr>
<tr class="memdesc:ga3aabd08d1fb46bf56b0ecf1f2723a62f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wake on Over-current Enable.  <a href="#ga3aabd08d1fb46bf56b0ecf1f2723a62f">More...</a><br/></td></tr>
<tr class="separator:ga3aabd08d1fb46bf56b0ecf1f2723a62f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga64e49cd2f69f2c41bae305fa0821b2e6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga64e49cd2f69f2c41bae305fa0821b2e6">XUSBPS_PORTSCR_PHCD_MASK</a>&#160;&#160;&#160;0x00800000</td></tr>
<tr class="memdesc:ga64e49cd2f69f2c41bae305fa0821b2e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">PHY Low Power Suspend - Clock Disable.  <a href="#ga64e49cd2f69f2c41bae305fa0821b2e6">More...</a><br/></td></tr>
<tr class="separator:ga64e49cd2f69f2c41bae305fa0821b2e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga56979f03747794e45b17e23f14361015"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga56979f03747794e45b17e23f14361015">XUSBPS_PORTSCR_PFSC_MASK</a>&#160;&#160;&#160;0x01000000</td></tr>
<tr class="memdesc:ga56979f03747794e45b17e23f14361015"><td class="mdescLeft">&#160;</td><td class="mdescRight">Port Force Full Speed Connect.  <a href="#ga56979f03747794e45b17e23f14361015">More...</a><br/></td></tr>
<tr class="separator:ga56979f03747794e45b17e23f14361015"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6858d711a08a55899702a1af580f0aec"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga6858d711a08a55899702a1af580f0aec">XUSBPS_PORTSCR_PSPD_MASK</a>&#160;&#160;&#160;0x0C000000</td></tr>
<tr class="memdesc:ga6858d711a08a55899702a1af580f0aec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Port Speed.  <a href="#ga6858d711a08a55899702a1af580f0aec">More...</a><br/></td></tr>
<tr class="separator:ga6858d711a08a55899702a1af580f0aec"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
On-The-Go Status Control Register (OTGCSR) bit positions.</h2></td></tr>
<tr class="memitem:gae1da15ba0e113d7bf2fc14e4dbecaa34"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gae1da15ba0e113d7bf2fc14e4dbecaa34">XUSBPS_OTGSC_VD_MASK</a>&#160;&#160;&#160;0x00000001</td></tr>
<tr class="memdesc:gae1da15ba0e113d7bf2fc14e4dbecaa34"><td class="mdescLeft">&#160;</td><td class="mdescRight">VBus Discharge Bit.  <a href="#gae1da15ba0e113d7bf2fc14e4dbecaa34">More...</a><br/></td></tr>
<tr class="separator:gae1da15ba0e113d7bf2fc14e4dbecaa34"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga38adf90c7ac0c3cdae6b181f0f1961a7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga38adf90c7ac0c3cdae6b181f0f1961a7">XUSBPS_OTGSC_VC_MASK</a>&#160;&#160;&#160;0x00000002</td></tr>
<tr class="memdesc:ga38adf90c7ac0c3cdae6b181f0f1961a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">VBus Charge Bit.  <a href="#ga38adf90c7ac0c3cdae6b181f0f1961a7">More...</a><br/></td></tr>
<tr class="separator:ga38adf90c7ac0c3cdae6b181f0f1961a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2e57b1893a94267b225818eab4f356cf"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga2e57b1893a94267b225818eab4f356cf">XUSBPS_OTGSC_HAAR_MASK</a>&#160;&#160;&#160;0x00000004</td></tr>
<tr class="memdesc:ga2e57b1893a94267b225818eab4f356cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">HW Assist Auto Reset Enable Bit.  <a href="#ga2e57b1893a94267b225818eab4f356cf">More...</a><br/></td></tr>
<tr class="separator:ga2e57b1893a94267b225818eab4f356cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5fa9fe6a9f212d24be7c3e351dc8385b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga5fa9fe6a9f212d24be7c3e351dc8385b">XUSBPS_OTGSC_OT_MASK</a>&#160;&#160;&#160;0x00000008</td></tr>
<tr class="memdesc:ga5fa9fe6a9f212d24be7c3e351dc8385b"><td class="mdescLeft">&#160;</td><td class="mdescRight">OTG Termination Bit.  <a href="#ga5fa9fe6a9f212d24be7c3e351dc8385b">More...</a><br/></td></tr>
<tr class="separator:ga5fa9fe6a9f212d24be7c3e351dc8385b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadf8d7e9df1fbfc49fa27f45bb544d546"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gadf8d7e9df1fbfc49fa27f45bb544d546">XUSBPS_OTGSC_DP_MASK</a>&#160;&#160;&#160;0x00000010</td></tr>
<tr class="memdesc:gadf8d7e9df1fbfc49fa27f45bb544d546"><td class="mdescLeft">&#160;</td><td class="mdescRight">Data Pulsing Pull-up Enable Bit.  <a href="#gadf8d7e9df1fbfc49fa27f45bb544d546">More...</a><br/></td></tr>
<tr class="separator:gadf8d7e9df1fbfc49fa27f45bb544d546"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0d20e551660706bb6baa638b92a66e85"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga0d20e551660706bb6baa638b92a66e85">XUSBPS_OTGSC_IDPU_MASK</a>&#160;&#160;&#160;0x00000020</td></tr>
<tr class="memdesc:ga0d20e551660706bb6baa638b92a66e85"><td class="mdescLeft">&#160;</td><td class="mdescRight">ID Pull-up Enable Bit.  <a href="#ga0d20e551660706bb6baa638b92a66e85">More...</a><br/></td></tr>
<tr class="separator:ga0d20e551660706bb6baa638b92a66e85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga32bf4c1617f4d76058de570d9a9a7f80"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga32bf4c1617f4d76058de570d9a9a7f80">XUSBPS_OTGSC_HADP_MASK</a>&#160;&#160;&#160;0x00000040</td></tr>
<tr class="memdesc:ga32bf4c1617f4d76058de570d9a9a7f80"><td class="mdescLeft">&#160;</td><td class="mdescRight">HW Assist Data Pulse Enable Bit.  <a href="#ga32bf4c1617f4d76058de570d9a9a7f80">More...</a><br/></td></tr>
<tr class="separator:ga32bf4c1617f4d76058de570d9a9a7f80"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga87549f3fc330a0479d325cfe1d8b5e67"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga87549f3fc330a0479d325cfe1d8b5e67">XUSBPS_OTGSC_HABA_MASK</a>&#160;&#160;&#160;0x00000080</td></tr>
<tr class="memdesc:ga87549f3fc330a0479d325cfe1d8b5e67"><td class="mdescLeft">&#160;</td><td class="mdescRight">USB Hardware Assist B Disconnect to A Connect Enable Bit.  <a href="#ga87549f3fc330a0479d325cfe1d8b5e67">More...</a><br/></td></tr>
<tr class="separator:ga87549f3fc330a0479d325cfe1d8b5e67"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga80240394c8c8067c108fad5fad6fa01d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga80240394c8c8067c108fad5fad6fa01d">XUSBPS_OTGSC_ID_MASK</a>&#160;&#160;&#160;0x00000100</td></tr>
<tr class="memdesc:ga80240394c8c8067c108fad5fad6fa01d"><td class="mdescLeft">&#160;</td><td class="mdescRight">ID Status Flag.  <a href="#ga80240394c8c8067c108fad5fad6fa01d">More...</a><br/></td></tr>
<tr class="separator:ga80240394c8c8067c108fad5fad6fa01d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaac4219ae6323b31d4a47f4fbdf8e033d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gaac4219ae6323b31d4a47f4fbdf8e033d">XUSBPS_OTGSC_AVV_MASK</a>&#160;&#160;&#160;0x00000200</td></tr>
<tr class="memdesc:gaac4219ae6323b31d4a47f4fbdf8e033d"><td class="mdescLeft">&#160;</td><td class="mdescRight">USB A VBus Valid Interrupt Status Flag.  <a href="#gaac4219ae6323b31d4a47f4fbdf8e033d">More...</a><br/></td></tr>
<tr class="separator:gaac4219ae6323b31d4a47f4fbdf8e033d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaafe4f6f4d329fa8d2bf7d3a53dea0446"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gaafe4f6f4d329fa8d2bf7d3a53dea0446">XUSBPS_OTGSC_ASV_MASK</a>&#160;&#160;&#160;0x00000400</td></tr>
<tr class="memdesc:gaafe4f6f4d329fa8d2bf7d3a53dea0446"><td class="mdescLeft">&#160;</td><td class="mdescRight">USB A Session Valid Interrupt Status Flag.  <a href="#gaafe4f6f4d329fa8d2bf7d3a53dea0446">More...</a><br/></td></tr>
<tr class="separator:gaafe4f6f4d329fa8d2bf7d3a53dea0446"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5cf6d5161376a3fdd350e1d83e8f5d6a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga5cf6d5161376a3fdd350e1d83e8f5d6a">XUSBPS_OTGSC_BSV_MASK</a>&#160;&#160;&#160;0x00000800</td></tr>
<tr class="memdesc:ga5cf6d5161376a3fdd350e1d83e8f5d6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">USB B Session Valid Status Flag.  <a href="#ga5cf6d5161376a3fdd350e1d83e8f5d6a">More...</a><br/></td></tr>
<tr class="separator:ga5cf6d5161376a3fdd350e1d83e8f5d6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae04026316f9e7945aa100bd80f734fc2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gae04026316f9e7945aa100bd80f734fc2">XUSBPS_OTGSC_BSE_MASK</a>&#160;&#160;&#160;0x00001000</td></tr>
<tr class="memdesc:gae04026316f9e7945aa100bd80f734fc2"><td class="mdescLeft">&#160;</td><td class="mdescRight">USB B Session End Status Flag.  <a href="#gae04026316f9e7945aa100bd80f734fc2">More...</a><br/></td></tr>
<tr class="separator:gae04026316f9e7945aa100bd80f734fc2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa0d43b964c7795fa8f97de05a4003968"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gaa0d43b964c7795fa8f97de05a4003968">XUSBPS_OTGSC_1MST_MASK</a>&#160;&#160;&#160;0x00002000</td></tr>
<tr class="memdesc:gaa0d43b964c7795fa8f97de05a4003968"><td class="mdescLeft">&#160;</td><td class="mdescRight">USB 1 Millisecond Timer Status Flag.  <a href="#gaa0d43b964c7795fa8f97de05a4003968">More...</a><br/></td></tr>
<tr class="separator:gaa0d43b964c7795fa8f97de05a4003968"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1ab3e499a08d4332856ed252eeeb0ac5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga1ab3e499a08d4332856ed252eeeb0ac5">XUSBPS_OTGSC_DPS_MASK</a>&#160;&#160;&#160;0x00004000</td></tr>
<tr class="memdesc:ga1ab3e499a08d4332856ed252eeeb0ac5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Data Pulse Status Flag.  <a href="#ga1ab3e499a08d4332856ed252eeeb0ac5">More...</a><br/></td></tr>
<tr class="separator:ga1ab3e499a08d4332856ed252eeeb0ac5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf429ced13773b3bd51a574f432da6da6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gaf429ced13773b3bd51a574f432da6da6">XUSBPS_OTGSC_IDIS_MASK</a>&#160;&#160;&#160;0x00010000</td></tr>
<tr class="memdesc:gaf429ced13773b3bd51a574f432da6da6"><td class="mdescLeft">&#160;</td><td class="mdescRight">USB ID Interrupt Status Flag.  <a href="#gaf429ced13773b3bd51a574f432da6da6">More...</a><br/></td></tr>
<tr class="separator:gaf429ced13773b3bd51a574f432da6da6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0c18d9fe65c7d984732572294584e230"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga0c18d9fe65c7d984732572294584e230">XUSBPS_OTGSC_AVVIS_MASK</a>&#160;&#160;&#160;0x00020000</td></tr>
<tr class="memdesc:ga0c18d9fe65c7d984732572294584e230"><td class="mdescLeft">&#160;</td><td class="mdescRight">USB A VBus Valid Interrupt Status Flag.  <a href="#ga0c18d9fe65c7d984732572294584e230">More...</a><br/></td></tr>
<tr class="separator:ga0c18d9fe65c7d984732572294584e230"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga663f6ece2fd49add15e6b09ae3c158c6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga663f6ece2fd49add15e6b09ae3c158c6">XUSBPS_OTGSC_ASVIS_MASK</a>&#160;&#160;&#160;0x00040000</td></tr>
<tr class="memdesc:ga663f6ece2fd49add15e6b09ae3c158c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">USB A Session Valid Interrupt Status Flag.  <a href="#ga663f6ece2fd49add15e6b09ae3c158c6">More...</a><br/></td></tr>
<tr class="separator:ga663f6ece2fd49add15e6b09ae3c158c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0d7a0968c4d46fbc7acef420971f2091"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga0d7a0968c4d46fbc7acef420971f2091">XUSBPS_OTGSC_BSVIS_MASK</a>&#160;&#160;&#160;0x00080000</td></tr>
<tr class="memdesc:ga0d7a0968c4d46fbc7acef420971f2091"><td class="mdescLeft">&#160;</td><td class="mdescRight">USB B Session Valid Interrupt Status Flag.  <a href="#ga0d7a0968c4d46fbc7acef420971f2091">More...</a><br/></td></tr>
<tr class="separator:ga0d7a0968c4d46fbc7acef420971f2091"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad9c241fd267427bde173769007392d09"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gad9c241fd267427bde173769007392d09">XUSBPS_OTGSC_BSEIS_MASK</a>&#160;&#160;&#160;0x00100000</td></tr>
<tr class="memdesc:gad9c241fd267427bde173769007392d09"><td class="mdescLeft">&#160;</td><td class="mdescRight">USB B Session End Interrupt Status Flag.  <a href="#gad9c241fd267427bde173769007392d09">More...</a><br/></td></tr>
<tr class="separator:gad9c241fd267427bde173769007392d09"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1b21358c42955a59a14216653a7e2fed"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga1b21358c42955a59a14216653a7e2fed">XUSBPS_OTGSC_1MSS_MASK</a>&#160;&#160;&#160;0x00200000</td></tr>
<tr class="memdesc:ga1b21358c42955a59a14216653a7e2fed"><td class="mdescLeft">&#160;</td><td class="mdescRight">1 Millisecond Timer Interrupt Status Flag  <a href="#ga1b21358c42955a59a14216653a7e2fed">More...</a><br/></td></tr>
<tr class="separator:ga1b21358c42955a59a14216653a7e2fed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadb8c22e732296af62ee2ef525ae15c2e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gadb8c22e732296af62ee2ef525ae15c2e">XUSBPS_OTGSC_DPIS_MASK</a>&#160;&#160;&#160;0x00400000</td></tr>
<tr class="memdesc:gadb8c22e732296af62ee2ef525ae15c2e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Data Pulse Interrupt Status Flag.  <a href="#gadb8c22e732296af62ee2ef525ae15c2e">More...</a><br/></td></tr>
<tr class="separator:gadb8c22e732296af62ee2ef525ae15c2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae72f487267814e2b4efea626ddaf9227"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gae72f487267814e2b4efea626ddaf9227">XUSBPS_OTGSC_IDIE_MASK</a>&#160;&#160;&#160;0x01000000</td></tr>
<tr class="memdesc:gae72f487267814e2b4efea626ddaf9227"><td class="mdescLeft">&#160;</td><td class="mdescRight">ID Interrupt Enable Bit.  <a href="#gae72f487267814e2b4efea626ddaf9227">More...</a><br/></td></tr>
<tr class="separator:gae72f487267814e2b4efea626ddaf9227"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga992634fdae8964f9525f406bf6c302f4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga992634fdae8964f9525f406bf6c302f4">XUSBPS_OTGSC_AVVIE_MASK</a>&#160;&#160;&#160;0x02000000</td></tr>
<tr class="memdesc:ga992634fdae8964f9525f406bf6c302f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">USB A VBus Valid Interrupt Enable Bit.  <a href="#ga992634fdae8964f9525f406bf6c302f4">More...</a><br/></td></tr>
<tr class="separator:ga992634fdae8964f9525f406bf6c302f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3dfd8cc7d3acb160acc612bad8c56f62"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga3dfd8cc7d3acb160acc612bad8c56f62">XUSBPS_OTGSC_ASVIE_MASK</a>&#160;&#160;&#160;0x04000000</td></tr>
<tr class="memdesc:ga3dfd8cc7d3acb160acc612bad8c56f62"><td class="mdescLeft">&#160;</td><td class="mdescRight">USB A Session Valid Interrupt Enable Bit.  <a href="#ga3dfd8cc7d3acb160acc612bad8c56f62">More...</a><br/></td></tr>
<tr class="separator:ga3dfd8cc7d3acb160acc612bad8c56f62"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0d51d2db4a4ebde3bb55baa8a2342de7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga0d51d2db4a4ebde3bb55baa8a2342de7">XUSBPS_OTGSC_BSVIE_MASK</a>&#160;&#160;&#160;0x08000000</td></tr>
<tr class="memdesc:ga0d51d2db4a4ebde3bb55baa8a2342de7"><td class="mdescLeft">&#160;</td><td class="mdescRight">USB B Session Valid Interrupt Enable Bit.  <a href="#ga0d51d2db4a4ebde3bb55baa8a2342de7">More...</a><br/></td></tr>
<tr class="separator:ga0d51d2db4a4ebde3bb55baa8a2342de7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1d817258eb5221723892b52d16064124"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga1d817258eb5221723892b52d16064124">XUSBPS_OTGSC_BSEE_MASK</a>&#160;&#160;&#160;0x10000000</td></tr>
<tr class="memdesc:ga1d817258eb5221723892b52d16064124"><td class="mdescLeft">&#160;</td><td class="mdescRight">USB B Session End Interrupt Enable Bit.  <a href="#ga1d817258eb5221723892b52d16064124">More...</a><br/></td></tr>
<tr class="separator:ga1d817258eb5221723892b52d16064124"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf0ebd2a0508208cecd0f035c5c5d3de0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#gaf0ebd2a0508208cecd0f035c5c5d3de0">XUSBPS_OTGSC_1MSE_MASK</a>&#160;&#160;&#160;0x20000000</td></tr>
<tr class="memdesc:gaf0ebd2a0508208cecd0f035c5c5d3de0"><td class="mdescLeft">&#160;</td><td class="mdescRight">1 Millisecond Timer Interrupt Enable Bit  <a href="#gaf0ebd2a0508208cecd0f035c5c5d3de0">More...</a><br/></td></tr>
<tr class="separator:gaf0ebd2a0508208cecd0f035c5c5d3de0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga929405e5691f0cde005d98404d57fcc7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga929405e5691f0cde005d98404d57fcc7">XUSBPS_OTGSC_DPIE_MASK</a>&#160;&#160;&#160;0x40000000</td></tr>
<tr class="memdesc:ga929405e5691f0cde005d98404d57fcc7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Data Pulse Interrupt Enable Bit.  <a href="#ga929405e5691f0cde005d98404d57fcc7">More...</a><br/></td></tr>
<tr class="separator:ga929405e5691f0cde005d98404d57fcc7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9d102ab4ccb6d192fb28ee829bc21f98"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga9d102ab4ccb6d192fb28ee829bc21f98"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XUSBPS_OTG_ISB_ALL</b></td></tr>
<tr class="separator:ga9d102ab4ccb6d192fb28ee829bc21f98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga45a182e7fb3993949604759cf7db6711"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps.html#ga45a182e7fb3993949604759cf7db6711">XUSBPS_OTG_IEB_ALL</a></td></tr>
<tr class="memdesc:ga45a182e7fb3993949604759cf7db6711"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mask for All IRQ status masks.  <a href="#ga45a182e7fb3993949604759cf7db6711">More...</a><br/></td></tr>
<tr class="separator:ga45a182e7fb3993949604759cf7db6711"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="ga693168c9588d90c92e04e665fb141fce"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ENDPOINT_MAXP_LENGTH&#160;&#160;&#160;0x400</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Endpoint Max Packet Length in DeviceConfig is a coded value, ch9.6.6. </p>

</div>
</div>
<a class="anchor" id="ga5321ce3c50f36383f51d1d8ccea520f3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_ASYNCLISTADDR_OFFSET&#160;&#160;&#160;0x00000158</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>H: Async List Address. </p>

<p>Referenced by <a class="el" href="group__usbps.html#gaf07a1ec6f70450249f71f4831649974c">XUsbPs_ResetHw()</a>.</p>

</div>
</div>
<a class="anchor" id="gae997f50920e8068fa2e19d5ae2d9acdf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_BURSTSIZE_OFFSET&#160;&#160;&#160;0x00000160</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Burst Size. </p>

</div>
</div>
<a class="anchor" id="ga67534137eff9c7a3b0e09323a6816d7b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_BURSTSIZE_RX_MASK&#160;&#160;&#160;0x000000FF</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>RX Burst Length. </p>

</div>
</div>
<a class="anchor" id="gae6eb43af25aad5f13a79cdf1a419741d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_BURSTSIZE_TX_MASK&#160;&#160;&#160;0x0000FF00</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>TX Burst Length. </p>

</div>
</div>
<a class="anchor" id="ga445e9014663f5e2c20473c569170bb54"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_CMD_ASE_MASK&#160;&#160;&#160;0x00000020</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Async Sched Enable. </p>

</div>
</div>
<a class="anchor" id="gaf1a22648f59c9a2c24dc91d12505c035"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_CMD_ASP_MASK&#160;&#160;&#160;0x00000300</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Async Sched Park Mode Cnt. </p>

</div>
</div>
<a class="anchor" id="ga8636517a7767284c41a8757aac599035"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_CMD_ASPE_MASK&#160;&#160;&#160;0x00000800</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Async Sched Park Mode Enbl. </p>

</div>
</div>
<a class="anchor" id="ga6e974e8398c962e180415baefcfee1ab"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_CMD_ATDTW_MASK&#160;&#160;&#160;0x00004000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add dTD TripWire. </p>

</div>
</div>
<a class="anchor" id="ga1ef25eb339410876cfa92d706bee097b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_CMD_FS01_MASK&#160;&#160;&#160;0x0000000C</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Frame List Size bit 0,1. </p>

</div>
</div>
<a class="anchor" id="ga75d04ab452a4907ec05d0103e604f3f1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_CMD_FS2_MASK&#160;&#160;&#160;0x00008000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Frame List Size bit 2. </p>

</div>
</div>
<a class="anchor" id="ga10e2bd69c860448b3eb9ef32c5c926c2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_CMD_IAA_MASK&#160;&#160;&#160;0x00000040</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>IRQ Async Advance Doorbell. </p>

</div>
</div>
<a class="anchor" id="ga9026d4faa0ba3d40057687c9c3d58a34"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_CMD_ITC_MASK&#160;&#160;&#160;0x00FF0000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>IRQ Threshold Control. </p>

</div>
</div>
<a class="anchor" id="gaf4288c56d0528bdcb84495dfaebc9007"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_CMD_ITHRESHOLD_0&#160;&#160;&#160;0x00</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Immediate interrupt. </p>

</div>
</div>
<a class="anchor" id="ga79e8edf7ad76347325a0e0562806a3c4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_CMD_ITHRESHOLD_1&#160;&#160;&#160;0x01</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>1 micro-frame </p>

</div>
</div>
<a class="anchor" id="ga42d34ad767def3bd595e066bafba4ecc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_CMD_ITHRESHOLD_16&#160;&#160;&#160;0x10</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>16 micro-frames </p>

</div>
</div>
<a class="anchor" id="gab654fd8caf2d3f5b9801f0807c3ee0b5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_CMD_ITHRESHOLD_2&#160;&#160;&#160;0x02</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>2 micro-frames </p>

</div>
</div>
<a class="anchor" id="ga31e120154b5d45da68d4ac5f80d5c5bc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_CMD_ITHRESHOLD_32&#160;&#160;&#160;0x20</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>32 micro-frames </p>

</div>
</div>
<a class="anchor" id="ga4081fb945f2380b16647f87280b449dd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_CMD_ITHRESHOLD_4&#160;&#160;&#160;0x04</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>4 micro-frames </p>

</div>
</div>
<a class="anchor" id="gaba3c4b08e2e61ae0c95bdb988cfa128b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_CMD_ITHRESHOLD_64&#160;&#160;&#160;0x40</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>64 micro-frames </p>

</div>
</div>
<a class="anchor" id="gad24ef70f4b1b14e938adea1a793b1daf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_CMD_ITHRESHOLD_8&#160;&#160;&#160;0x08</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>8 micro-frames </p>

</div>
</div>
<a class="anchor" id="gaf4e60df9453b2ca88e075768c80eb362"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_CMD_OFFSET&#160;&#160;&#160;0x00000140</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Configuration. </p>

<p>Referenced by <a class="el" href="group__usbps.html#ga69b214c21727c4b1f641d84414f397df">XUsbPs_DeviceReset()</a>, <a class="el" href="group__usbps.html#ga2c583a4c515653fd70c111fe0d2ddb37">XUsbPs_Reset()</a>, and <a class="el" href="group__usbps.html#gaf07a1ec6f70450249f71f4831649974c">XUsbPs_ResetHw()</a>.</p>

</div>
</div>
<a class="anchor" id="ga96e40510dfd77182f6ef38fd2025fa3a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_CMD_PSE_MASK&#160;&#160;&#160;0x00000010</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Periodic Sched Enable. </p>

</div>
</div>
<a class="anchor" id="ga52456fec470f635fe4e25fbd586e0367"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_CMD_RS_MASK&#160;&#160;&#160;0x00000001</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Run/Stop. </p>

</div>
</div>
<a class="anchor" id="ga0da6c04d3bd127161f774e9be81e5b51"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_CMD_RST_MASK&#160;&#160;&#160;0x00000002</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Controller RESET. </p>

<p>Referenced by <a class="el" href="group__usbps.html#ga69b214c21727c4b1f641d84414f397df">XUsbPs_DeviceReset()</a>, <a class="el" href="group__usbps.html#ga2c583a4c515653fd70c111fe0d2ddb37">XUsbPs_Reset()</a>, and <a class="el" href="group__usbps.html#gaf07a1ec6f70450249f71f4831649974c">XUsbPs_ResetHw()</a>.</p>

</div>
</div>
<a class="anchor" id="ga28d755f3ecc320aea1c7f5d524c6ce04"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_CMD_SUTW_MASK&#160;&#160;&#160;0x00002000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Setup TripWire. </p>

</div>
</div>
<a class="anchor" id="gad86f6c8b6ff536870e40a018308ee9d7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_DEFAULT_ALT_SETTING&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The default alternate setting is 0. </p>

<p>Referenced by <a class="el" href="group__usbps.html#ga1a3417695facf9eff86ce6a1e14a9bbc">XUsbPs_CfgInitialize()</a>.</p>

</div>
</div>
<a class="anchor" id="gae53b1b5887bad445e4428e70891a4d27"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_DEVICEADDR_ADDR_MASK&#160;&#160;&#160;0xFE000000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Device Address. </p>

</div>
</div>
<a class="anchor" id="ga7839efccd693f5aa8c1b0685b891f760"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_DEVICEADDR_ADDR_SHIFT&#160;&#160;&#160;25</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Address shift. </p>

<p>Referenced by <a class="el" href="group__usbps.html#ga8c700bcf9ba08271914145803776d265">XUsbPs_SetDeviceAddress()</a>.</p>

</div>
</div>
<a class="anchor" id="ga6a54eea03800ea6ee8ecce7f9fa09795"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_DEVICEADDR_DEVICEAADV_MASK&#160;&#160;&#160;0x01000000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Device Addr Auto Advance. </p>

<p>Referenced by <a class="el" href="group__usbps.html#ga8c700bcf9ba08271914145803776d265">XUsbPs_SetDeviceAddress()</a>.</p>

</div>
</div>
<a class="anchor" id="ga60a03ddaaa15885da8754417ec603c33"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_DEVICEADDR_MAX&#160;&#160;&#160;127</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Biggest allowed address. </p>

<p>Referenced by <a class="el" href="group__usbps.html#ga8c700bcf9ba08271914145803776d265">XUsbPs_SetDeviceAddress()</a>.</p>

</div>
</div>
<a class="anchor" id="ga7a1a4003537baa17d4619dfc180daf53"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_DEVICEADDR_OFFSET&#160;&#160;&#160;0x00000154</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>D: Device Address. </p>

<p>Referenced by <a class="el" href="group__usbps.html#ga8c700bcf9ba08271914145803776d265">XUsbPs_SetDeviceAddress()</a>.</p>

</div>
</div>
<a class="anchor" id="ga638a41ffd2f06ff71d6bf8c0f91c8172"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_dQH_ALIGN&#160;&#160;&#160;64</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Alignment of a Device Transfer Descriptor structure. </p>

</div>
</div>
<a class="anchor" id="ga5b6ed1e5110a39ee013edb1c2d1870e6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_dQH_BASE_ALIGN&#160;&#160;&#160;2048</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Mask for All IRQ Enable masks. </p>
<p>&lt; Alignment of the Device Queue Head List BASE. Alignment of a Device Queue Head structure. </p>

<p>Referenced by <a class="el" href="group__usbps.html#ga6daace32113a806a6822a6d5943a93f4">XUsbPs_ConfigureDevice()</a>.</p>

</div>
</div>
<a class="anchor" id="ga35a9eff7ab1ce1b0d0ce40905a240be6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_dQHCFG&#160;&#160;&#160;0x00</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Endpoint Device Queue Head. </p>
<p>Device queue heads are arranged in an array in a continuous area of memory pointed to by the ENDPOINTLISTADDR pointer. The device controller will index into this array based upon the endpoint number received from the USB bus. All information necessary to respond to transactions for all primed transfers is contained in this list so the Device Controller can readily respond to incoming requests without having to traverse a linked list.</p>
<p>The device Endpoint Queue Head (dQH) is where all transfers are managed. The dQH is a 48-byte data structure, but must be aligned on a 64-byte boundary. During priming of an endpoint, the dTD (device transfer descriptor) is copied into the overlay area of the dQH, which starts at the nextTD pointer DWord and continues through the end of the buffer pointers DWords. After a transfer is complete, the dTD status DWord is updated in the dTD pointed to by the currentTD pointer. While a packet is in progress, the overlay area of the dQH is used as a staging area for the dTD so that the Device Controller can access needed information with little minimal latency.</p>
<dl class="section note"><dt>Note</dt><dd>Software must ensure that no interface data structure reachable by the Device Controller spans a 4K-page boundary. The first element of the Endpoint Queue Head List must be aligned on a 4K boundary.dQH Configuration </dd></dl>

</div>
</div>
<a class="anchor" id="gad5a24bb56460eb7694a22c569daf2c7f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_dQHCFG_IOS_MASK&#160;&#160;&#160;0x00008000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>USB dQH Interrupt on Setup Bit. </p>

</div>
</div>
<a class="anchor" id="ga1a92ed1ac65951cb831a7a4700c57b29"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_dQHCFG_MPL_MASK&#160;&#160;&#160;0x07FF0000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>USB dQH Maximum Packet Length Field [10:0]. </p>

</div>
</div>
<a class="anchor" id="ga06c22710a2c09b6df434da907fb54400"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_dQHCFG_ZLT_MASK&#160;&#160;&#160;0x20000000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>USB dQH Zero Length Termination Select Bit. </p>

</div>
</div>
<a class="anchor" id="ga429409da5135163e2a708eac0eac561c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUsbPs_dQHClrIOS</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">dQHPtr</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="group__usbps.html#gac4e6554153ee40366d383af1292c04ab">XUsbPs_WritedQH</a>(dQHPtr, <a class="code" href="group__usbps.html#ga35a9eff7ab1ce1b0d0ce40905a240be6">XUSBPS_dQHCFG</a>,          \</div>
<div class="line">                        <a class="code" href="group__usbps.html#ga839c21d9f38839e4feb1c9e65a8c1737">XUsbPs_ReaddQH</a>(dQHPtr, <a class="code" href="group__usbps.html#ga35a9eff7ab1ce1b0d0ce40905a240be6">XUSBPS_dQHCFG</a>) &amp; \</div>
<div class="line">                        ~<a class="code" href="group__usbps.html#gad5a24bb56460eb7694a22c569daf2c7f">XUSBPS_dQHCFG_IOS_MASK</a>)</div>
<div class="ttc" id="group__usbps_html_ga839c21d9f38839e4feb1c9e65a8c1737"><div class="ttname"><a href="group__usbps.html#ga839c21d9f38839e4feb1c9e65a8c1737">XUsbPs_ReaddQH</a></div><div class="ttdeci">#define XUsbPs_ReaddQH(dQHPtr, Id)</div><div class="ttdoc">This macro reads the content of a field in a Queue Head. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:484</div></div>
<div class="ttc" id="group__usbps_html_gad5a24bb56460eb7694a22c569daf2c7f"><div class="ttname"><a href="group__usbps.html#gad5a24bb56460eb7694a22c569daf2c7f">XUSBPS_dQHCFG_IOS_MASK</a></div><div class="ttdeci">#define XUSBPS_dQHCFG_IOS_MASK</div><div class="ttdoc">USB dQH Interrupt on Setup Bit. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:372</div></div>
<div class="ttc" id="group__usbps_html_ga35a9eff7ab1ce1b0d0ce40905a240be6"><div class="ttname"><a href="group__usbps.html#ga35a9eff7ab1ce1b0d0ce40905a240be6">XUSBPS_dQHCFG</a></div><div class="ttdeci">#define XUSBPS_dQHCFG</div><div class="ttdoc">Endpoint Device Queue Head. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:359</div></div>
<div class="ttc" id="group__usbps_html_gac4e6554153ee40366d383af1292c04ab"><div class="ttname"><a href="group__usbps.html#gac4e6554153ee40366d383af1292c04ab">XUsbPs_WritedQH</a></div><div class="ttdeci">#define XUsbPs_WritedQH(dQHPtr, Id, Val)</div><div class="ttdoc">This macro writes a value to a field in a Queue Head. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:499</div></div>
</div><!-- fragment -->
<p>This macro clears the Interrupt On Setup (IOS) bit for an endpoint. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dQHPtr</td><td>is a pointer to the dQH element.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="group__usbps.html#ga429409da5135163e2a708eac0eac561c" title="This macro clears the Interrupt On Setup (IOS) bit for an endpoint. ">XUsbPs_dQHClrIOS(u32 dQHPtr)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga5ebb95d2a416b4da0fe787e7a73f81c9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_dQHCPTR&#160;&#160;&#160;0x04</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>dQH Current dTD Pointer </p>

</div>
</div>
<a class="anchor" id="ga536734fa778d3c92acee8f924ed14368"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUsbPs_dQHDisableZLT</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">dQHPtr</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="group__usbps.html#gac4e6554153ee40366d383af1292c04ab">XUsbPs_WritedQH</a>(dQHPtr, <a class="code" href="group__usbps.html#ga35a9eff7ab1ce1b0d0ce40905a240be6">XUSBPS_dQHCFG</a>,          \</div>
<div class="line">                        <a class="code" href="group__usbps.html#ga839c21d9f38839e4feb1c9e65a8c1737">XUsbPs_ReaddQH</a>(dQHPtr, <a class="code" href="group__usbps.html#ga35a9eff7ab1ce1b0d0ce40905a240be6">XUSBPS_dQHCFG</a>) | \</div>
<div class="line">                        <a class="code" href="group__usbps.html#ga06c22710a2c09b6df434da907fb54400">XUSBPS_dQHCFG_ZLT_MASK</a>)</div>
<div class="ttc" id="group__usbps_html_ga839c21d9f38839e4feb1c9e65a8c1737"><div class="ttname"><a href="group__usbps.html#ga839c21d9f38839e4feb1c9e65a8c1737">XUsbPs_ReaddQH</a></div><div class="ttdeci">#define XUsbPs_ReaddQH(dQHPtr, Id)</div><div class="ttdoc">This macro reads the content of a field in a Queue Head. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:484</div></div>
<div class="ttc" id="group__usbps_html_ga06c22710a2c09b6df434da907fb54400"><div class="ttname"><a href="group__usbps.html#ga06c22710a2c09b6df434da907fb54400">XUSBPS_dQHCFG_ZLT_MASK</a></div><div class="ttdeci">#define XUSBPS_dQHCFG_ZLT_MASK</div><div class="ttdoc">USB dQH Zero Length Termination Select Bit. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:378</div></div>
<div class="ttc" id="group__usbps_html_ga35a9eff7ab1ce1b0d0ce40905a240be6"><div class="ttname"><a href="group__usbps.html#ga35a9eff7ab1ce1b0d0ce40905a240be6">XUSBPS_dQHCFG</a></div><div class="ttdeci">#define XUSBPS_dQHCFG</div><div class="ttdoc">Endpoint Device Queue Head. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:359</div></div>
<div class="ttc" id="group__usbps_html_gac4e6554153ee40366d383af1292c04ab"><div class="ttname"><a href="group__usbps.html#gac4e6554153ee40366d383af1292c04ab">XUsbPs_WritedQH</a></div><div class="ttdeci">#define XUsbPs_WritedQH(dQHPtr, Id, Val)</div><div class="ttdoc">This macro writes a value to a field in a Queue Head. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:499</div></div>
</div><!-- fragment -->
<p>This macro disables Zero Length Termination for the endpoint. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dQHPtr</td><td>is a pointer to the dQH element.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="group__usbps.html#ga536734fa778d3c92acee8f924ed14368" title="This macro disables Zero Length Termination for the endpoint. ">XUsbPs_dQHDisableZLT(u32 dQHPtr)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="gae62a13c7c27ae6831f352e3f76689374"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_dQHdTDNLP&#160;&#160;&#160;0x08</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>dTD Next Link Ptr in dQH overlay </p>

</div>
</div>
<a class="anchor" id="gab1a2ab2dceacbfc6262ea3053bc0c4ba"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_dQHdTDTOKEN&#160;&#160;&#160;0x0C</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>dTD Token in dQH overlay </p>

</div>
</div>
<a class="anchor" id="gaad62bf32e8122d6645586a924255298a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUsbPs_dQHEnableZLT</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">dQHPtr</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="group__usbps.html#gac4e6554153ee40366d383af1292c04ab">XUsbPs_WritedQH</a>(dQHPtr, <a class="code" href="group__usbps.html#ga35a9eff7ab1ce1b0d0ce40905a240be6">XUSBPS_dQHCFG</a>,          \</div>
<div class="line">                        <a class="code" href="group__usbps.html#ga839c21d9f38839e4feb1c9e65a8c1737">XUsbPs_ReaddQH</a>(dQHPtr, <a class="code" href="group__usbps.html#ga35a9eff7ab1ce1b0d0ce40905a240be6">XUSBPS_dQHCFG</a>) &amp; \</div>
<div class="line">                        ~<a class="code" href="group__usbps.html#ga06c22710a2c09b6df434da907fb54400">XUSBPS_dQHCFG_ZLT_MASK</a>)</div>
<div class="ttc" id="group__usbps_html_ga839c21d9f38839e4feb1c9e65a8c1737"><div class="ttname"><a href="group__usbps.html#ga839c21d9f38839e4feb1c9e65a8c1737">XUsbPs_ReaddQH</a></div><div class="ttdeci">#define XUsbPs_ReaddQH(dQHPtr, Id)</div><div class="ttdoc">This macro reads the content of a field in a Queue Head. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:484</div></div>
<div class="ttc" id="group__usbps_html_ga06c22710a2c09b6df434da907fb54400"><div class="ttname"><a href="group__usbps.html#ga06c22710a2c09b6df434da907fb54400">XUSBPS_dQHCFG_ZLT_MASK</a></div><div class="ttdeci">#define XUSBPS_dQHCFG_ZLT_MASK</div><div class="ttdoc">USB dQH Zero Length Termination Select Bit. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:378</div></div>
<div class="ttc" id="group__usbps_html_ga35a9eff7ab1ce1b0d0ce40905a240be6"><div class="ttname"><a href="group__usbps.html#ga35a9eff7ab1ce1b0d0ce40905a240be6">XUSBPS_dQHCFG</a></div><div class="ttdeci">#define XUSBPS_dQHCFG</div><div class="ttdoc">Endpoint Device Queue Head. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:359</div></div>
<div class="ttc" id="group__usbps_html_gac4e6554153ee40366d383af1292c04ab"><div class="ttname"><a href="group__usbps.html#gac4e6554153ee40366d383af1292c04ab">XUsbPs_WritedQH</a></div><div class="ttdeci">#define XUsbPs_WritedQH(dQHPtr, Id, Val)</div><div class="ttdoc">This macro writes a value to a field in a Queue Head. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:499</div></div>
</div><!-- fragment -->
<p>This macro enables Zero Length Termination for the endpoint. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dQHPtr</td><td>is a pointer to the dQH element.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="group__usbps.html#gaad62bf32e8122d6645586a924255298a" title="This macro enables Zero Length Termination for the endpoint. ">XUsbPs_dQHEnableZLT(u32 dQHPtr)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="gaae119765b6e580df20735ce89de133ae"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUsbPs_dQHSetIOS</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">dQHPtr</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="group__usbps.html#gac4e6554153ee40366d383af1292c04ab">XUsbPs_WritedQH</a>(dQHPtr, <a class="code" href="group__usbps.html#ga35a9eff7ab1ce1b0d0ce40905a240be6">XUSBPS_dQHCFG</a>,          \</div>
<div class="line">                        <a class="code" href="group__usbps.html#ga839c21d9f38839e4feb1c9e65a8c1737">XUsbPs_ReaddQH</a>(dQHPtr, <a class="code" href="group__usbps.html#ga35a9eff7ab1ce1b0d0ce40905a240be6">XUSBPS_dQHCFG</a>) | \</div>
<div class="line">                        <a class="code" href="group__usbps.html#gad5a24bb56460eb7694a22c569daf2c7f">XUSBPS_dQHCFG_IOS_MASK</a>)</div>
<div class="ttc" id="group__usbps_html_ga839c21d9f38839e4feb1c9e65a8c1737"><div class="ttname"><a href="group__usbps.html#ga839c21d9f38839e4feb1c9e65a8c1737">XUsbPs_ReaddQH</a></div><div class="ttdeci">#define XUsbPs_ReaddQH(dQHPtr, Id)</div><div class="ttdoc">This macro reads the content of a field in a Queue Head. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:484</div></div>
<div class="ttc" id="group__usbps_html_gad5a24bb56460eb7694a22c569daf2c7f"><div class="ttname"><a href="group__usbps.html#gad5a24bb56460eb7694a22c569daf2c7f">XUSBPS_dQHCFG_IOS_MASK</a></div><div class="ttdeci">#define XUSBPS_dQHCFG_IOS_MASK</div><div class="ttdoc">USB dQH Interrupt on Setup Bit. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:372</div></div>
<div class="ttc" id="group__usbps_html_ga35a9eff7ab1ce1b0d0ce40905a240be6"><div class="ttname"><a href="group__usbps.html#ga35a9eff7ab1ce1b0d0ce40905a240be6">XUSBPS_dQHCFG</a></div><div class="ttdeci">#define XUSBPS_dQHCFG</div><div class="ttdoc">Endpoint Device Queue Head. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:359</div></div>
<div class="ttc" id="group__usbps_html_gac4e6554153ee40366d383af1292c04ab"><div class="ttname"><a href="group__usbps.html#gac4e6554153ee40366d383af1292c04ab">XUsbPs_WritedQH</a></div><div class="ttdeci">#define XUsbPs_WritedQH(dQHPtr, Id, Val)</div><div class="ttdoc">This macro writes a value to a field in a Queue Head. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:499</div></div>
</div><!-- fragment -->
<p>This macro sets the Interrupt On Setup (IOS) bit for an endpoint. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dQHPtr</td><td>is a pointer to the dQH element.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="group__usbps.html#gaae119765b6e580df20735ce89de133ae" title="This macro sets the Interrupt On Setup (IOS) bit for an endpoint. ">XUsbPs_dQHSetIOS(u32 dQHPtr)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga4bdef8ae36dd906e45f9f8cd0db05386"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUsbPs_dQHSetMaxPacketLen</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">dQHPtr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">Len&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="group__usbps.html#gac4e6554153ee40366d383af1292c04ab">XUsbPs_WritedQH</a>(dQHPtr, <a class="code" href="group__usbps.html#ga35a9eff7ab1ce1b0d0ce40905a240be6">XUSBPS_dQHCFG</a>,          \</div>
<div class="line">                        (<a class="code" href="group__usbps.html#ga839c21d9f38839e4feb1c9e65a8c1737">XUsbPs_ReaddQH</a>(dQHPtr, <a class="code" href="group__usbps.html#ga35a9eff7ab1ce1b0d0ce40905a240be6">XUSBPS_dQHCFG</a>) &amp;        \</div>
<div class="line">                         ~<a class="code" href="group__usbps.html#ga1a92ed1ac65951cb831a7a4700c57b29">XUSBPS_dQHCFG_MPL_MASK</a>) | ((Len) &lt;&lt; 16))</div>
<div class="ttc" id="group__usbps_html_ga839c21d9f38839e4feb1c9e65a8c1737"><div class="ttname"><a href="group__usbps.html#ga839c21d9f38839e4feb1c9e65a8c1737">XUsbPs_ReaddQH</a></div><div class="ttdeci">#define XUsbPs_ReaddQH(dQHPtr, Id)</div><div class="ttdoc">This macro reads the content of a field in a Queue Head. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:484</div></div>
<div class="ttc" id="group__usbps_html_ga1a92ed1ac65951cb831a7a4700c57b29"><div class="ttname"><a href="group__usbps.html#ga1a92ed1ac65951cb831a7a4700c57b29">XUSBPS_dQHCFG_MPL_MASK</a></div><div class="ttdeci">#define XUSBPS_dQHCFG_MPL_MASK</div><div class="ttdoc">USB dQH Maximum Packet Length Field [10:0]. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:374</div></div>
<div class="ttc" id="group__usbps_html_ga35a9eff7ab1ce1b0d0ce40905a240be6"><div class="ttname"><a href="group__usbps.html#ga35a9eff7ab1ce1b0d0ce40905a240be6">XUSBPS_dQHCFG</a></div><div class="ttdeci">#define XUSBPS_dQHCFG</div><div class="ttdoc">Endpoint Device Queue Head. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:359</div></div>
<div class="ttc" id="group__usbps_html_gac4e6554153ee40366d383af1292c04ab"><div class="ttname"><a href="group__usbps.html#gac4e6554153ee40366d383af1292c04ab">XUsbPs_WritedQH</a></div><div class="ttdeci">#define XUsbPs_WritedQH(dQHPtr, Id, Val)</div><div class="ttdoc">This macro writes a value to a field in a Queue Head. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:499</div></div>
</div><!-- fragment -->
<p>This macro sets the Maximum Packet Length field of the give Queue Head. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dQHPtr</td><td>is a pointer to the dQH element. </td></tr>
    <tr><td class="paramname">Len</td><td>is the length to be set.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="group__usbps.html#ga4bdef8ae36dd906e45f9f8cd0db05386" title="This macro sets the Maximum Packet Length field of the give Queue Head. ">XUsbPs_dQHSetMaxPacketLen(u32 dQHPtr, u32 Len)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga578231f86cf92fd3a737403139877114"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_dQHSUB0&#160;&#160;&#160;0x28</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>USB dQH Setup Buffer 0. </p>

<p>Referenced by <a class="el" href="group__usbps.html#ga91c44ff9dcae2e47ed8112c8a0779fa1">XUsbPs_EpGetSetupData()</a>.</p>

</div>
</div>
<a class="anchor" id="ga8bf765db8dc35c110ea1fce23e0f8004"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_dQHSUB1&#160;&#160;&#160;0x2C</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>USB dQH Setup Buffer 1. </p>

<p>Referenced by <a class="el" href="group__usbps.html#ga91c44ff9dcae2e47ed8112c8a0779fa1">XUsbPs_EpGetSetupData()</a>.</p>

</div>
</div>
<a class="anchor" id="gaa7cc144d178f6407b39c0ef5f86685ca"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_dTD_ALIGN&#160;&#160;&#160;32</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Size of one RX buffer for a OUT Transfer Descriptor. </p>

<p>Referenced by <a class="el" href="group__usbps.html#gaa01a009151d133f07249d7f932e22f11">XUsbPs_EpBufferRelease()</a>, and <a class="el" href="group__usbps.html#ga90aab040f015299b2064124bed882896">XUsbPs_ReconfigureEp()</a>.</p>

</div>
</div>
<a class="anchor" id="gad68e76afe700885d49824c80a5feeda4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_dTD_BUF_MAX_SIZE&#160;&#160;&#160;16*1024</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Alignment requirement for Transfer Descriptor buffers. </p>

</div>
</div>
<a class="anchor" id="ga09ddf307c0b57bfdb8d83088d8e96068"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_dTD_BUF_SIZE&#160;&#160;&#160;4096</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Maximum size of one RX/TX buffer. </p>

</div>
</div>
<a class="anchor" id="gae1f55dd3ec1b871e8e969505420aba2d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_dTDBPTR0&#160;&#160;&#160;0x08</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Buffer Pointer 0. </p>

<p>Referenced by <a class="el" href="group__usbps.html#gac27a9d64ddf33a2400d7493e301a7192">XUsbPs_EpBufferReceive()</a>, and <a class="el" href="group__usbps.html#ga0532b9ebbcab7bb72ec6bef692e20faf">XUsbPs_EpGetData()</a>.</p>

</div>
</div>
<a class="anchor" id="ga798410783179a1d9a2e5dbe5a79528b9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_dTDBPTR1&#160;&#160;&#160;0x0C</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Buffer Pointer 1. </p>

</div>
</div>
<a class="anchor" id="gab0c5f7403130fc99d7ae54e159bbd3e0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_dTDBPTR2&#160;&#160;&#160;0x10</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Buffer Pointer 2. </p>

</div>
</div>
<a class="anchor" id="gaa7b2ffafdee0197dffe87a70bb67ebd6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_dTDBPTR3&#160;&#160;&#160;0x14</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Buffer Pointer 3. </p>

</div>
</div>
<a class="anchor" id="ga304262729ed4884ed8be53898ecace41"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_dTDBPTR4&#160;&#160;&#160;0x18</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Buffer Pointer 4. </p>

</div>
</div>
<a class="anchor" id="ga0790e61992c08a5957fd76b0872e229f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUsbPs_dTDClrTerminate</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">dTDPtr</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="group__usbps.html#ga46b39addcef0c64d911bcb4fef09995f">XUsbPs_WritedTD</a>(dTDPtr, <a class="code" href="group__usbps.html#ga1918f73069d71fa135b2eab488e821dd">XUSBPS_dTDNLP</a>,          \</div>
<div class="line">                        <a class="code" href="group__usbps.html#ga8fb175f0a451903f999c9ddf2454eaa6">XUsbPs_ReaddTD</a>(dTDPtr, <a class="code" href="group__usbps.html#ga1918f73069d71fa135b2eab488e821dd">XUSBPS_dTDNLP</a>) &amp; \</div>
<div class="line">                        ~<a class="code" href="group__usbps.html#gabf5360d3750ba2dd97268829f1a3c34d">XUSBPS_dTDNLP_T_MASK</a>)</div>
<div class="ttc" id="group__usbps_html_ga8fb175f0a451903f999c9ddf2454eaa6"><div class="ttname"><a href="group__usbps.html#ga8fb175f0a451903f999c9ddf2454eaa6">XUsbPs_ReaddTD</a></div><div class="ttdeci">#define XUsbPs_ReaddTD(dTDPtr, Id)</div><div class="ttdoc">This macro reads the content of a field in a Transfer Descriptor. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:314</div></div>
<div class="ttc" id="group__usbps_html_ga1918f73069d71fa135b2eab488e821dd"><div class="ttname"><a href="group__usbps.html#ga1918f73069d71fa135b2eab488e821dd">XUSBPS_dTDNLP</a></div><div class="ttdeci">#define XUSBPS_dTDNLP</div><div class="ttdoc">Endpoint Device Transfer Descriptor. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:53</div></div>
<div class="ttc" id="group__usbps_html_gabf5360d3750ba2dd97268829f1a3c34d"><div class="ttname"><a href="group__usbps.html#gabf5360d3750ba2dd97268829f1a3c34d">XUSBPS_dTDNLP_T_MASK</a></div><div class="ttdeci">#define XUSBPS_dTDNLP_T_MASK</div><div class="ttdoc">USB dTD Next Link Pointer Terminate Bit. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:70</div></div>
<div class="ttc" id="group__usbps_html_ga46b39addcef0c64d911bcb4fef09995f"><div class="ttname"><a href="group__usbps.html#ga46b39addcef0c64d911bcb4fef09995f">XUsbPs_WritedTD</a></div><div class="ttdeci">#define XUsbPs_WritedTD(dTDPtr, Id, Val)</div><div class="ttdoc">This macro writes a value to a field in a Transfer Descriptor. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:329</div></div>
</div><!-- fragment -->
<p>This macro clears the Terminate bit for the given Transfer Descriptor. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dTDPtr</td><td>is a pointer to the dTD element.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="group__usbps.html#ga0790e61992c08a5957fd76b0872e229f" title="This macro clears the Terminate bit for the given Transfer Descriptor. ">XUsbPs_dTDClrTerminate(u32 dTDPtr)</a> </dd></dl>

<p>Referenced by <a class="el" href="group__usbps.html#gaa01a009151d133f07249d7f932e22f11">XUsbPs_EpBufferRelease()</a>.</p>

</div>
</div>
<a class="anchor" id="gaff561ce4d02aeaca741b9344cf71c439"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUsbPs_dTDGetNLP</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">dTDPtr</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">(XUsbPs_dTD *) ((<a class="code" href="group__usbps.html#ga8fb175f0a451903f999c9ddf2454eaa6">XUsbPs_ReaddTD</a>(dTDPtr, <a class="code" href="group__usbps.html#ga1918f73069d71fa135b2eab488e821dd">XUSBPS_dTDNLP</a>)\</div>
<div class="line">                         &amp; <a class="code" href="group__usbps.html#gaba6835e9dc72c10c677e68be76e0c0d6">XUSBPS_dTDNLP_ADDR_MASK</a>))</div>
<div class="ttc" id="group__usbps_html_ga8fb175f0a451903f999c9ddf2454eaa6"><div class="ttname"><a href="group__usbps.html#ga8fb175f0a451903f999c9ddf2454eaa6">XUsbPs_ReaddTD</a></div><div class="ttdeci">#define XUsbPs_ReaddTD(dTDPtr, Id)</div><div class="ttdoc">This macro reads the content of a field in a Transfer Descriptor. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:314</div></div>
<div class="ttc" id="group__usbps_html_ga1918f73069d71fa135b2eab488e821dd"><div class="ttname"><a href="group__usbps.html#ga1918f73069d71fa135b2eab488e821dd">XUSBPS_dTDNLP</a></div><div class="ttdeci">#define XUSBPS_dTDNLP</div><div class="ttdoc">Endpoint Device Transfer Descriptor. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:53</div></div>
<div class="ttc" id="group__usbps_html_gaba6835e9dc72c10c677e68be76e0c0d6"><div class="ttname"><a href="group__usbps.html#gaba6835e9dc72c10c677e68be76e0c0d6">XUSBPS_dTDNLP_ADDR_MASK</a></div><div class="ttdeci">#define XUSBPS_dTDNLP_ADDR_MASK</div><div class="ttdoc">USB dTD Next Link Pointer Address [31:5]. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:72</div></div>
</div><!-- fragment -->
<p>This macro gets the Next Link pointer of the given Transfer Descriptor. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dTDPtr</td><td>is pointer to the dTD element.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>TransferLength field of the descriptor.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: u32 <a class="el" href="group__usbps.html#ga711b9e3ec5886510d1647017b171b7a7" title="This macro gets the Transfer Length for the given Transfer Descriptor. ">XUsbPs_dTDGetTransferLen(u32 dTDPtr)</a> </dd></dl>

<p>Referenced by <a class="el" href="group__usbps.html#ga0532b9ebbcab7bb72ec6bef692e20faf">XUsbPs_EpGetData()</a>.</p>

</div>
</div>
<a class="anchor" id="ga711b9e3ec5886510d1647017b171b7a7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUsbPs_dTDGetTransferLen</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">dTDPtr</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">(u32) ((<a class="code" href="group__usbps.html#ga8fb175f0a451903f999c9ddf2454eaa6">XUsbPs_ReaddTD</a>(dTDPtr, <a class="code" href="group__usbps.html#gab3adbbd5bdcb702adc34f1c9e2e19f82">XUSBPS_dTDTOKEN</a>)         \</div>
<div class="line">                &amp; <a class="code" href="group__usbps.html#ga878b80a1e7e85f4f9a3360eb17812ace">XUSBPS_dTDTOKEN_LEN_MASK</a>) &gt;&gt; 16)</div>
<div class="ttc" id="group__usbps_html_ga8fb175f0a451903f999c9ddf2454eaa6"><div class="ttname"><a href="group__usbps.html#ga8fb175f0a451903f999c9ddf2454eaa6">XUsbPs_ReaddTD</a></div><div class="ttdeci">#define XUsbPs_ReaddTD(dTDPtr, Id)</div><div class="ttdoc">This macro reads the content of a field in a Transfer Descriptor. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:314</div></div>
<div class="ttc" id="group__usbps_html_gab3adbbd5bdcb702adc34f1c9e2e19f82"><div class="ttname"><a href="group__usbps.html#gab3adbbd5bdcb702adc34f1c9e2e19f82">XUSBPS_dTDTOKEN</a></div><div class="ttdeci">#define XUSBPS_dTDTOKEN</div><div class="ttdoc">Descriptor Token. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:54</div></div>
<div class="ttc" id="group__usbps_html_ga878b80a1e7e85f4f9a3360eb17812ace"><div class="ttname"><a href="group__usbps.html#ga878b80a1e7e85f4f9a3360eb17812ace">XUSBPS_dTDTOKEN_LEN_MASK</a></div><div class="ttdeci">#define XUSBPS_dTDTOKEN_LEN_MASK</div><div class="ttdoc">Transfer Length Field. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:86</div></div>
</div><!-- fragment -->
<p>This macro gets the Transfer Length for the given Transfer Descriptor. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dTDPtr</td><td>is a pointer to the dTD element.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>TransferLength field of the descriptor.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: u32 <a class="el" href="group__usbps.html#ga711b9e3ec5886510d1647017b171b7a7" title="This macro gets the Transfer Length for the given Transfer Descriptor. ">XUsbPs_dTDGetTransferLen(u32 dTDPtr)</a> </dd></dl>

<p>Referenced by <a class="el" href="group__usbps.html#gac27a9d64ddf33a2400d7493e301a7192">XUsbPs_EpBufferReceive()</a>, and <a class="el" href="group__usbps.html#ga0532b9ebbcab7bb72ec6bef692e20faf">XUsbPs_EpGetData()</a>.</p>

</div>
</div>
<a class="anchor" id="gaa260e9aba369da9638b783b6954f6661"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUsbPs_dTDInvalidateCache</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">dTDPtr</td><td>)</td>
          <td>&#160;&#160;&#160;Xil_DCacheInvalidateRange((unsigned int)dTDPtr, sizeof(XUsbPs_dTD))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><h1>IMPORTANT NOTE: </h1>
</p>
<p>Many of the following macros modify Device Queue Head (dQH) data structures and Device Transfer Descriptor (dTD) data structures. Those structures can potentially reside in CACHED memory. Therefore, it's the callers responsibility to ensure cache coherency by using provided </p>
<pre class="fragment">    XUsbPs_dQHInvalidateCache()
    XUsbPs_dQHFlushCache()
    XUsbPs_dTDInvalidateCache()
    XUsbPs_dTDFlushCache()
</pre><p>function calls. </p>

<p>Referenced by <a class="el" href="group__usbps.html#gac27a9d64ddf33a2400d7493e301a7192">XUsbPs_EpBufferReceive()</a>, <a class="el" href="group__usbps.html#gaa01a009151d133f07249d7f932e22f11">XUsbPs_EpBufferRelease()</a>, <a class="el" href="group__usbps.html#gadbe72ae98e3bc73150a650f5f8e5c34f">XUsbPs_EpDataBufferReceive()</a>, and <a class="el" href="group__usbps.html#ga0532b9ebbcab7bb72ec6bef692e20faf">XUsbPs_EpGetData()</a>.</p>

</div>
</div>
<a class="anchor" id="ga0eac82eeedb77e35d21c352b3aaabd17"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUsbPs_dTDIsActive</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">dTDPtr</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">((<a class="code" href="group__usbps.html#ga8fb175f0a451903f999c9ddf2454eaa6">XUsbPs_ReaddTD</a>(dTDPtr, <a class="code" href="group__usbps.html#gab3adbbd5bdcb702adc34f1c9e2e19f82">XUSBPS_dTDTOKEN</a>) &amp;             <a class="code" href="group__usbps.html#ga5e3ba25e78a33f9f7676109281cbad59">\</a></div>
<div class="line"><a class="code" href="group__usbps.html#ga5e3ba25e78a33f9f7676109281cbad59">	  XUSBPS_dTDTOKEN_ACTIVE_MASK</a>) ? TRUE : FALSE)</div>
<div class="ttc" id="group__usbps_html_ga8fb175f0a451903f999c9ddf2454eaa6"><div class="ttname"><a href="group__usbps.html#ga8fb175f0a451903f999c9ddf2454eaa6">XUsbPs_ReaddTD</a></div><div class="ttdeci">#define XUsbPs_ReaddTD(dTDPtr, Id)</div><div class="ttdoc">This macro reads the content of a field in a Transfer Descriptor. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:314</div></div>
<div class="ttc" id="group__usbps_html_gab3adbbd5bdcb702adc34f1c9e2e19f82"><div class="ttname"><a href="group__usbps.html#gab3adbbd5bdcb702adc34f1c9e2e19f82">XUSBPS_dTDTOKEN</a></div><div class="ttdeci">#define XUSBPS_dTDTOKEN</div><div class="ttdoc">Descriptor Token. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:54</div></div>
<div class="ttc" id="group__usbps_html_ga5e3ba25e78a33f9f7676109281cbad59"><div class="ttname"><a href="group__usbps.html#ga5e3ba25e78a33f9f7676109281cbad59">XUSBPS_dTDTOKEN_ACTIVE_MASK</a></div><div class="ttdeci">#define XUSBPS_dTDTOKEN_ACTIVE_MASK</div><div class="ttdoc">dTD Active Bit </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:83</div></div>
</div><!-- fragment -->
<p>This macro checks if the given descriptor is active. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dTDPtr</td><td>is a pointer to the dTD element.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>TRUE: The buffer is active.</li>
<li>FALSE: The buffer is not active.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: int <a class="el" href="group__usbps.html#ga0eac82eeedb77e35d21c352b3aaabd17" title="This macro checks if the given descriptor is active. ">XUsbPs_dTDIsActive(u32 dTDPtr)</a> </dd></dl>

<p>Referenced by <a class="el" href="group__usbps.html#gac27a9d64ddf33a2400d7493e301a7192">XUsbPs_EpBufferReceive()</a>, <a class="el" href="group__usbps.html#gadbe72ae98e3bc73150a650f5f8e5c34f">XUsbPs_EpDataBufferReceive()</a>, and <a class="el" href="group__usbps.html#ga0532b9ebbcab7bb72ec6bef692e20faf">XUsbPs_EpGetData()</a>.</p>

</div>
</div>
<a class="anchor" id="ga1918f73069d71fa135b2eab488e821dd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_dTDNLP&#160;&#160;&#160;0x00</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Endpoint Device Transfer Descriptor. </p>
<p>The dTD describes to the device controller the location and quantity of data to be sent/received for given transfer. The driver does not attempt to modify any field in an active dTD except the Next Link Pointer.Pointer to the next descriptor </p>

</div>
</div>
<a class="anchor" id="gaba6835e9dc72c10c677e68be76e0c0d6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_dTDNLP_ADDR_MASK&#160;&#160;&#160;0xFFFFFFE0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>USB dTD Next Link Pointer Address [31:5]. </p>

</div>
</div>
<a class="anchor" id="gabf5360d3750ba2dd97268829f1a3c34d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_dTDNLP_T_MASK&#160;&#160;&#160;0x00000001</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>USB dTD Next Link Pointer Terminate Bit. </p>

</div>
</div>
<a class="anchor" id="ga304ffb51a9138fa0195b284096c1463e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_dTDRSRVD&#160;&#160;&#160;0x1C</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reserved field. </p>

</div>
</div>
<a class="anchor" id="ga391b6782385021bb6ea588f85e81655d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUsbPs_dTDSetActive</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">dTDPtr</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="group__usbps.html#ga46b39addcef0c64d911bcb4fef09995f">XUsbPs_WritedTD</a>(dTDPtr, <a class="code" href="group__usbps.html#gab3adbbd5bdcb702adc34f1c9e2e19f82">XUSBPS_dTDTOKEN</a>,                \</div>
<div class="line">                        <a class="code" href="group__usbps.html#ga8fb175f0a451903f999c9ddf2454eaa6">XUsbPs_ReaddTD</a>(dTDPtr, <a class="code" href="group__usbps.html#gab3adbbd5bdcb702adc34f1c9e2e19f82">XUSBPS_dTDTOKEN</a>) |       \</div>
<div class="line">                        <a class="code" href="group__usbps.html#ga5e3ba25e78a33f9f7676109281cbad59">XUSBPS_dTDTOKEN_ACTIVE_MASK</a>)</div>
<div class="ttc" id="group__usbps_html_ga8fb175f0a451903f999c9ddf2454eaa6"><div class="ttname"><a href="group__usbps.html#ga8fb175f0a451903f999c9ddf2454eaa6">XUsbPs_ReaddTD</a></div><div class="ttdeci">#define XUsbPs_ReaddTD(dTDPtr, Id)</div><div class="ttdoc">This macro reads the content of a field in a Transfer Descriptor. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:314</div></div>
<div class="ttc" id="group__usbps_html_gab3adbbd5bdcb702adc34f1c9e2e19f82"><div class="ttname"><a href="group__usbps.html#gab3adbbd5bdcb702adc34f1c9e2e19f82">XUSBPS_dTDTOKEN</a></div><div class="ttdeci">#define XUSBPS_dTDTOKEN</div><div class="ttdoc">Descriptor Token. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:54</div></div>
<div class="ttc" id="group__usbps_html_ga5e3ba25e78a33f9f7676109281cbad59"><div class="ttname"><a href="group__usbps.html#ga5e3ba25e78a33f9f7676109281cbad59">XUSBPS_dTDTOKEN_ACTIVE_MASK</a></div><div class="ttdeci">#define XUSBPS_dTDTOKEN_ACTIVE_MASK</div><div class="ttdoc">dTD Active Bit </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:83</div></div>
<div class="ttc" id="group__usbps_html_ga46b39addcef0c64d911bcb4fef09995f"><div class="ttname"><a href="group__usbps.html#ga46b39addcef0c64d911bcb4fef09995f">XUsbPs_WritedTD</a></div><div class="ttdeci">#define XUsbPs_WritedTD(dTDPtr, Id, Val)</div><div class="ttdoc">This macro writes a value to a field in a Transfer Descriptor. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:329</div></div>
</div><!-- fragment -->
<p>This macro sets the Active bit for the given Transfer Descriptor. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dTDPtr</td><td>is a pointer to the dTD element.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="group__usbps.html#ga391b6782385021bb6ea588f85e81655d" title="This macro sets the Active bit for the given Transfer Descriptor. ">XUsbPs_dTDSetActive(u32 dTDPtr)</a> </dd></dl>

<p>Referenced by <a class="el" href="group__usbps.html#gaa01a009151d133f07249d7f932e22f11">XUsbPs_EpBufferRelease()</a>.</p>

</div>
</div>
<a class="anchor" id="gabd3140e00ef6e8680e34ee234d0ea416"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUsbPs_dTDSetIOC</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">dTDPtr</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="group__usbps.html#ga46b39addcef0c64d911bcb4fef09995f">XUsbPs_WritedTD</a>(dTDPtr, <a class="code" href="group__usbps.html#gab3adbbd5bdcb702adc34f1c9e2e19f82">XUSBPS_dTDTOKEN</a>,                \</div>
<div class="line">                        <a class="code" href="group__usbps.html#ga8fb175f0a451903f999c9ddf2454eaa6">XUsbPs_ReaddTD</a>(dTDPtr, <a class="code" href="group__usbps.html#gab3adbbd5bdcb702adc34f1c9e2e19f82">XUSBPS_dTDTOKEN</a>) |       \</div>
<div class="line">                        <a class="code" href="group__usbps.html#gaccc682692ac8a2864433eb6ae897683f">XUSBPS_dTDTOKEN_IOC_MASK</a>)</div>
<div class="ttc" id="group__usbps_html_ga8fb175f0a451903f999c9ddf2454eaa6"><div class="ttname"><a href="group__usbps.html#ga8fb175f0a451903f999c9ddf2454eaa6">XUsbPs_ReaddTD</a></div><div class="ttdeci">#define XUsbPs_ReaddTD(dTDPtr, Id)</div><div class="ttdoc">This macro reads the content of a field in a Transfer Descriptor. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:314</div></div>
<div class="ttc" id="group__usbps_html_gaccc682692ac8a2864433eb6ae897683f"><div class="ttname"><a href="group__usbps.html#gaccc682692ac8a2864433eb6ae897683f">XUSBPS_dTDTOKEN_IOC_MASK</a></div><div class="ttdeci">#define XUSBPS_dTDTOKEN_IOC_MASK</div><div class="ttdoc">Interrupt on Complete Bit. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:85</div></div>
<div class="ttc" id="group__usbps_html_gab3adbbd5bdcb702adc34f1c9e2e19f82"><div class="ttname"><a href="group__usbps.html#gab3adbbd5bdcb702adc34f1c9e2e19f82">XUSBPS_dTDTOKEN</a></div><div class="ttdeci">#define XUSBPS_dTDTOKEN</div><div class="ttdoc">Descriptor Token. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:54</div></div>
<div class="ttc" id="group__usbps_html_ga46b39addcef0c64d911bcb4fef09995f"><div class="ttname"><a href="group__usbps.html#ga46b39addcef0c64d911bcb4fef09995f">XUsbPs_WritedTD</a></div><div class="ttdeci">#define XUsbPs_WritedTD(dTDPtr, Id, Val)</div><div class="ttdoc">This macro writes a value to a field in a Transfer Descriptor. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:329</div></div>
</div><!-- fragment -->
<p>This macro sets the Interrupt On Complete (IOC) bit for the given Transfer Descriptor. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dTDPtr</td><td>is a pointer to the dTD element.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="group__usbps.html#gabd3140e00ef6e8680e34ee234d0ea416" title="This macro sets the Interrupt On Complete (IOC) bit for the given Transfer Descriptor. ">XUsbPs_dTDSetIOC(u32 dTDPtr)</a> </dd></dl>

<p>Referenced by <a class="el" href="group__usbps.html#gaa01a009151d133f07249d7f932e22f11">XUsbPs_EpBufferRelease()</a>.</p>

</div>
</div>
<a class="anchor" id="ga3a1bc5acb0e193094a4d98ff052cf934"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUsbPs_dTDSetMultO</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">dTDPtr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">val&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="group__usbps.html#ga46b39addcef0c64d911bcb4fef09995f">XUsbPs_WritedTD</a>(dTDPtr, <a class="code" href="group__usbps.html#gab3adbbd5bdcb702adc34f1c9e2e19f82">XUSBPS_dTDTOKEN</a>,                \</div>
<div class="line">                        (<a class="code" href="group__usbps.html#ga8fb175f0a451903f999c9ddf2454eaa6">XUsbPs_ReaddTD</a>(dTDPtr, <a class="code" href="group__usbps.html#gab3adbbd5bdcb702adc34f1c9e2e19f82">XUSBPS_dTDTOKEN</a>) &amp;      \</div>
<div class="line">                         (~<a class="code" href="group__usbps.html#ga79336f2e95c4eeb4a5c01ca58439a5f0">XUSBPS_dTDTOKEN_MULTO_MASK</a>)) | val)</div>
<div class="ttc" id="group__usbps_html_ga8fb175f0a451903f999c9ddf2454eaa6"><div class="ttname"><a href="group__usbps.html#ga8fb175f0a451903f999c9ddf2454eaa6">XUsbPs_ReaddTD</a></div><div class="ttdeci">#define XUsbPs_ReaddTD(dTDPtr, Id)</div><div class="ttdoc">This macro reads the content of a field in a Transfer Descriptor. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:314</div></div>
<div class="ttc" id="group__usbps_html_ga79336f2e95c4eeb4a5c01ca58439a5f0"><div class="ttname"><a href="group__usbps.html#ga79336f2e95c4eeb4a5c01ca58439a5f0">XUSBPS_dTDTOKEN_MULTO_MASK</a></div><div class="ttdeci">#define XUSBPS_dTDTOKEN_MULTO_MASK</div><div class="ttdoc">Multiplier Override Field [1:0]. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:84</div></div>
<div class="ttc" id="group__usbps_html_gab3adbbd5bdcb702adc34f1c9e2e19f82"><div class="ttname"><a href="group__usbps.html#gab3adbbd5bdcb702adc34f1c9e2e19f82">XUSBPS_dTDTOKEN</a></div><div class="ttdeci">#define XUSBPS_dTDTOKEN</div><div class="ttdoc">Descriptor Token. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:54</div></div>
<div class="ttc" id="group__usbps_html_ga46b39addcef0c64d911bcb4fef09995f"><div class="ttname"><a href="group__usbps.html#ga46b39addcef0c64d911bcb4fef09995f">XUsbPs_WritedTD</a></div><div class="ttdeci">#define XUsbPs_WritedTD(dTDPtr, Id, Val)</div><div class="ttdoc">This macro writes a value to a field in a Transfer Descriptor. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:329</div></div>
</div><!-- fragment -->
<p>This macro sets the multiplier bit for the Transfer Descriptor. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dTDPtr</td><td>is a pointer to the dTD element. </td></tr>
    <tr><td class="paramname">val</td><td>is the multiplier value.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="group__usbps.html#ga3a1bc5acb0e193094a4d98ff052cf934" title="This macro sets the multiplier bit for the Transfer Descriptor. ">XUsbPs_dTDSetMultO(u32 dTDPtr, u32 val)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga8d5cfe0e60b6d415d793c2a7ae59fff3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUsbPs_dTDSetNLP</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">dTDPtr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">NLP&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="group__usbps.html#ga46b39addcef0c64d911bcb4fef09995f">XUsbPs_WritedTD</a>(dTDPtr, <a class="code" href="group__usbps.html#ga1918f73069d71fa135b2eab488e821dd">XUSBPS_dTDNLP</a>,          \</div>
<div class="line">                        (<a class="code" href="group__usbps.html#ga8fb175f0a451903f999c9ddf2454eaa6">XUsbPs_ReaddTD</a>(dTDPtr, <a class="code" href="group__usbps.html#ga1918f73069d71fa135b2eab488e821dd">XUSBPS_dTDNLP</a>) &amp;        \</div>
<div class="line">                         ~<a class="code" href="group__usbps.html#gaba6835e9dc72c10c677e68be76e0c0d6">XUSBPS_dTDNLP_ADDR_MASK</a>) |            \</div>
<div class="line">                        ((NLP) &amp; <a class="code" href="group__usbps.html#gaba6835e9dc72c10c677e68be76e0c0d6">XUSBPS_dTDNLP_ADDR_MASK</a>))</div>
<div class="ttc" id="group__usbps_html_ga8fb175f0a451903f999c9ddf2454eaa6"><div class="ttname"><a href="group__usbps.html#ga8fb175f0a451903f999c9ddf2454eaa6">XUsbPs_ReaddTD</a></div><div class="ttdeci">#define XUsbPs_ReaddTD(dTDPtr, Id)</div><div class="ttdoc">This macro reads the content of a field in a Transfer Descriptor. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:314</div></div>
<div class="ttc" id="group__usbps_html_ga1918f73069d71fa135b2eab488e821dd"><div class="ttname"><a href="group__usbps.html#ga1918f73069d71fa135b2eab488e821dd">XUSBPS_dTDNLP</a></div><div class="ttdeci">#define XUSBPS_dTDNLP</div><div class="ttdoc">Endpoint Device Transfer Descriptor. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:53</div></div>
<div class="ttc" id="group__usbps_html_gaba6835e9dc72c10c677e68be76e0c0d6"><div class="ttname"><a href="group__usbps.html#gaba6835e9dc72c10c677e68be76e0c0d6">XUSBPS_dTDNLP_ADDR_MASK</a></div><div class="ttdeci">#define XUSBPS_dTDNLP_ADDR_MASK</div><div class="ttdoc">USB dTD Next Link Pointer Address [31:5]. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:72</div></div>
<div class="ttc" id="group__usbps_html_ga46b39addcef0c64d911bcb4fef09995f"><div class="ttname"><a href="group__usbps.html#ga46b39addcef0c64d911bcb4fef09995f">XUsbPs_WritedTD</a></div><div class="ttdeci">#define XUsbPs_WritedTD(dTDPtr, Id, Val)</div><div class="ttdoc">This macro writes a value to a field in a Transfer Descriptor. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:329</div></div>
</div><!-- fragment -->
<p>This macro sets the Next Link pointer of the given Transfer Descriptor. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dTDPtr</td><td>is a pointer to the dTD element. </td></tr>
    <tr><td class="paramname">NLP</td><td>is the Next Link Pointer</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="group__usbps.html#ga53e16e680fe49e56c3267e4d9d81078a" title="This macro sets the Transfer Length for the given Transfer Descriptor. ">XUsbPs_dTDSetTransferLen(u32 dTDPtr, u32 Len)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga90d5c9b287b9f052eaacd2134bfe144a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUsbPs_dTDSetTerminate</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">dTDPtr</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="group__usbps.html#ga46b39addcef0c64d911bcb4fef09995f">XUsbPs_WritedTD</a>(dTDPtr, <a class="code" href="group__usbps.html#ga1918f73069d71fa135b2eab488e821dd">XUSBPS_dTDNLP</a>,          \</div>
<div class="line">                        <a class="code" href="group__usbps.html#ga8fb175f0a451903f999c9ddf2454eaa6">XUsbPs_ReaddTD</a>(dTDPtr, <a class="code" href="group__usbps.html#ga1918f73069d71fa135b2eab488e821dd">XUSBPS_dTDNLP</a>) | \</div>
<div class="line">                        <a class="code" href="group__usbps.html#gabf5360d3750ba2dd97268829f1a3c34d">XUSBPS_dTDNLP_T_MASK</a>)</div>
<div class="ttc" id="group__usbps_html_ga8fb175f0a451903f999c9ddf2454eaa6"><div class="ttname"><a href="group__usbps.html#ga8fb175f0a451903f999c9ddf2454eaa6">XUsbPs_ReaddTD</a></div><div class="ttdeci">#define XUsbPs_ReaddTD(dTDPtr, Id)</div><div class="ttdoc">This macro reads the content of a field in a Transfer Descriptor. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:314</div></div>
<div class="ttc" id="group__usbps_html_ga1918f73069d71fa135b2eab488e821dd"><div class="ttname"><a href="group__usbps.html#ga1918f73069d71fa135b2eab488e821dd">XUSBPS_dTDNLP</a></div><div class="ttdeci">#define XUSBPS_dTDNLP</div><div class="ttdoc">Endpoint Device Transfer Descriptor. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:53</div></div>
<div class="ttc" id="group__usbps_html_gabf5360d3750ba2dd97268829f1a3c34d"><div class="ttname"><a href="group__usbps.html#gabf5360d3750ba2dd97268829f1a3c34d">XUSBPS_dTDNLP_T_MASK</a></div><div class="ttdeci">#define XUSBPS_dTDNLP_T_MASK</div><div class="ttdoc">USB dTD Next Link Pointer Terminate Bit. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:70</div></div>
<div class="ttc" id="group__usbps_html_ga46b39addcef0c64d911bcb4fef09995f"><div class="ttname"><a href="group__usbps.html#ga46b39addcef0c64d911bcb4fef09995f">XUsbPs_WritedTD</a></div><div class="ttdeci">#define XUsbPs_WritedTD(dTDPtr, Id, Val)</div><div class="ttdoc">This macro writes a value to a field in a Transfer Descriptor. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:329</div></div>
</div><!-- fragment -->
<p>This macro sets the Terminate bit for the given Transfer Descriptor. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dTDPtr</td><td>is a pointer to the dTD element.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="group__usbps.html#ga90d5c9b287b9f052eaacd2134bfe144a" title="This macro sets the Terminate bit for the given Transfer Descriptor. ">XUsbPs_dTDSetTerminate(u32 dTDPtr)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga53e16e680fe49e56c3267e4d9d81078a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUsbPs_dTDSetTransferLen</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">dTDPtr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">Len&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="group__usbps.html#ga46b39addcef0c64d911bcb4fef09995f">XUsbPs_WritedTD</a>(dTDPtr, <a class="code" href="group__usbps.html#gab3adbbd5bdcb702adc34f1c9e2e19f82">XUSBPS_dTDTOKEN</a>,                \</div>
<div class="line">                        (<a class="code" href="group__usbps.html#ga8fb175f0a451903f999c9ddf2454eaa6">XUsbPs_ReaddTD</a>(dTDPtr, <a class="code" href="group__usbps.html#gab3adbbd5bdcb702adc34f1c9e2e19f82">XUSBPS_dTDTOKEN</a>) &amp;      \</div>
<div class="line">                         ~<a class="code" href="group__usbps.html#ga878b80a1e7e85f4f9a3360eb17812ace">XUSBPS_dTDTOKEN_LEN_MASK</a>) | ((Len) &lt;&lt; 16))</div>
<div class="ttc" id="group__usbps_html_ga8fb175f0a451903f999c9ddf2454eaa6"><div class="ttname"><a href="group__usbps.html#ga8fb175f0a451903f999c9ddf2454eaa6">XUsbPs_ReaddTD</a></div><div class="ttdeci">#define XUsbPs_ReaddTD(dTDPtr, Id)</div><div class="ttdoc">This macro reads the content of a field in a Transfer Descriptor. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:314</div></div>
<div class="ttc" id="group__usbps_html_gab3adbbd5bdcb702adc34f1c9e2e19f82"><div class="ttname"><a href="group__usbps.html#gab3adbbd5bdcb702adc34f1c9e2e19f82">XUSBPS_dTDTOKEN</a></div><div class="ttdeci">#define XUSBPS_dTDTOKEN</div><div class="ttdoc">Descriptor Token. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:54</div></div>
<div class="ttc" id="group__usbps_html_ga878b80a1e7e85f4f9a3360eb17812ace"><div class="ttname"><a href="group__usbps.html#ga878b80a1e7e85f4f9a3360eb17812ace">XUSBPS_dTDTOKEN_LEN_MASK</a></div><div class="ttdeci">#define XUSBPS_dTDTOKEN_LEN_MASK</div><div class="ttdoc">Transfer Length Field. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:86</div></div>
<div class="ttc" id="group__usbps_html_ga46b39addcef0c64d911bcb4fef09995f"><div class="ttname"><a href="group__usbps.html#ga46b39addcef0c64d911bcb4fef09995f">XUsbPs_WritedTD</a></div><div class="ttdeci">#define XUsbPs_WritedTD(dTDPtr, Id, Val)</div><div class="ttdoc">This macro writes a value to a field in a Transfer Descriptor. </div><div class="ttdef"><b>Definition:</b> xusbps_endpoint.h:329</div></div>
</div><!-- fragment -->
<p>This macro sets the Transfer Length for the given Transfer Descriptor. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dTDPtr</td><td>is pointer to the dTD element. </td></tr>
    <tr><td class="paramname">Len</td><td>is the length to be set. Range: 0..16384</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="group__usbps.html#ga53e16e680fe49e56c3267e4d9d81078a" title="This macro sets the Transfer Length for the given Transfer Descriptor. ">XUsbPs_dTDSetTransferLen(u32 dTDPtr, u32 Len)</a> </dd></dl>

<p>Referenced by <a class="el" href="group__usbps.html#gac27a9d64ddf33a2400d7493e301a7192">XUsbPs_EpBufferReceive()</a>, and <a class="el" href="group__usbps.html#ga0532b9ebbcab7bb72ec6bef692e20faf">XUsbPs_EpGetData()</a>.</p>

</div>
</div>
<a class="anchor" id="gab3adbbd5bdcb702adc34f1c9e2e19f82"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_dTDTOKEN&#160;&#160;&#160;0x04</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Descriptor Token. </p>

</div>
</div>
<a class="anchor" id="ga5e3ba25e78a33f9f7676109281cbad59"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_dTDTOKEN_ACTIVE_MASK&#160;&#160;&#160;0x00000080</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>dTD Active Bit </p>

</div>
</div>
<a class="anchor" id="ga7bc5a6c4293c2877587f30173a4d0629"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_dTDTOKEN_BUFERR_MASK&#160;&#160;&#160;0x00000020</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>dTD Data Buffer Error </p>

</div>
</div>
<a class="anchor" id="gad7a9ea369a462c6c667cce07639191a6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_dTDTOKEN_HALT_MASK&#160;&#160;&#160;0x00000040</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>dTD Halted Flag </p>

</div>
</div>
<a class="anchor" id="gaccc682692ac8a2864433eb6ae897683f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_dTDTOKEN_IOC_MASK&#160;&#160;&#160;0x00008000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Interrupt on Complete Bit. </p>

</div>
</div>
<a class="anchor" id="ga878b80a1e7e85f4f9a3360eb17812ace"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_dTDTOKEN_LEN_MASK&#160;&#160;&#160;0x7FFF0000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Transfer Length Field. </p>

</div>
</div>
<a class="anchor" id="ga79336f2e95c4eeb4a5c01ca58439a5f0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_dTDTOKEN_MULTO_MASK&#160;&#160;&#160;0x00000C00</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Multiplier Override Field [1:0]. </p>

</div>
</div>
<a class="anchor" id="ga233e424e29efeaac5f0336fff454c10a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_dTDTOKEN_XERR_MASK&#160;&#160;&#160;0x00000008</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>dTD Transaction Error </p>

</div>
</div>
<a class="anchor" id="gaa0000a3e99579f8bdfcd74d39afaa41f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_dTDUSERDATA&#160;&#160;&#160;<a class="el" href="group__usbps.html#ga304ffb51a9138fa0195b284096c1463e">XUSBPS_dTDRSRVD</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reserved field. </p>

<p>Referenced by <a class="el" href="group__usbps.html#gac27a9d64ddf33a2400d7493e301a7192">XUsbPs_EpBufferReceive()</a>, and <a class="el" href="group__usbps.html#ga0532b9ebbcab7bb72ec6bef692e20faf">XUsbPs_EpGetData()</a>.</p>

</div>
</div>
<a class="anchor" id="gaad8c8159ca5944bbb672dbecd2ca4e2e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_EP_ALL_MASK&#160;&#160;&#160;0x0FFF0FFF</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Mask used for endpoint control registers. </p>

<p>Referenced by <a class="el" href="group__usbps.html#ga69b214c21727c4b1f641d84414f397df">XUsbPs_DeviceReset()</a>.</p>

</div>
</div>
<a class="anchor" id="ga0f21b0f7da084c22abc4f0a9bf425bc7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_EP_DIRECTION_IN&#160;&#160;&#160;0x01</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Endpoint direction IN. </p>

<p>Referenced by <a class="el" href="xusbps__audio__example_8c.html#a840291bc02cba5474a4cb46a9b9566fe">main()</a>, <a class="el" href="xusbps__ch9_8h.html#a254a6aac5f51679919255c4602aa04d2">XUsbPs_Ch9HandleSetupPacket()</a>, <a class="el" href="xusbps__class__storage_8h.html#a8665f21d5cd56ddd1983b110d15f7d25">XUsbPs_ClassReq()</a>, <a class="el" href="group__usbps.html#gaba0ae2eac9c6b402e32e401333a5b105">XUsbPs_EpPrime()</a>, <a class="el" href="group__usbps.html#ga04fb0b564bcd01cdf33e29ca2732656a">XUsbPs_EpSetHandler()</a>, <a class="el" href="group__usbps.html#ga5eb603906d381d4a426a3d24fc2082a0">XUsbPs_EpSetIsoHandler()</a>, <a class="el" href="group__usbps.html#ga90aab040f015299b2064124bed882896">XUsbPs_ReconfigureEp()</a>, <a class="el" href="xusbps__ch9__storage_8c.html#a72238ee80cba8facd72277ab2ec271de">XUsbPs_SetConfiguration()</a>, <a class="el" href="xusbps__ch9__storage_8h.html#a6f3de0049101ffbf7d6c92a55442e226">XUsbPs_SetConfigurationApp()</a>, and <a class="el" href="xusbps__ch9__storage_8h.html#a4942a94ee10ae5832b33125aa184f9ab">XUsbPs_SetInterfaceHandler()</a>.</p>

</div>
</div>
<a class="anchor" id="ga86e363bb35c38123a924bd2af954ceab"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_EP_DIRECTION_OUT&#160;&#160;&#160;0x02</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Endpoint direction OUT. </p>

<p>Referenced by <a class="el" href="xusbps__audio__example_8c.html#a840291bc02cba5474a4cb46a9b9566fe">main()</a>, <a class="el" href="xusbps__ch9_8h.html#a254a6aac5f51679919255c4602aa04d2">XUsbPs_Ch9HandleSetupPacket()</a>, <a class="el" href="xusbps__class__storage_8h.html#a8665f21d5cd56ddd1983b110d15f7d25">XUsbPs_ClassReq()</a>, <a class="el" href="group__usbps.html#gaba0ae2eac9c6b402e32e401333a5b105">XUsbPs_EpPrime()</a>, <a class="el" href="group__usbps.html#ga04fb0b564bcd01cdf33e29ca2732656a">XUsbPs_EpSetHandler()</a>, <a class="el" href="group__usbps.html#ga5eb603906d381d4a426a3d24fc2082a0">XUsbPs_EpSetIsoHandler()</a>, <a class="el" href="group__usbps.html#ga60e2b0f6fabc24cdf785d704ab2585d1">XUsbPs_IntrHandler()</a>, <a class="el" href="group__usbps.html#ga90aab040f015299b2064124bed882896">XUsbPs_ReconfigureEp()</a>, <a class="el" href="xusbps__ch9__storage_8c.html#a72238ee80cba8facd72277ab2ec271de">XUsbPs_SetConfiguration()</a>, <a class="el" href="xusbps__ch9__storage_8h.html#a6f3de0049101ffbf7d6c92a55442e226">XUsbPs_SetConfigurationApp()</a>, and <a class="el" href="xusbps__ch9__storage_8h.html#a4942a94ee10ae5832b33125aa184f9ab">XUsbPs_SetInterfaceHandler()</a>.</p>

</div>
</div>
<a class="anchor" id="ga8915f71ea9bef90eed401a44a39d7dba"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_EP_EVENT_DATA_RX&#160;&#160;&#160;0x02</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Data frame has been received on the endpoint. </p>

</div>
</div>
<a class="anchor" id="gaaf96bbc1cb4b4c7d1e3399027a2e4823"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_EP_EVENT_DATA_TX&#160;&#160;&#160;0x03</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Data frame has been sent on the endpoint. </p>

</div>
</div>
<a class="anchor" id="ga9934654d1c910d17fbeb9b5f75e96ecc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_EP_EVENT_SETUP_DATA_RECEIVED&#160;&#160;&#160;0x01</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Setup data has been received on the endpoint. </p>

</div>
</div>
<a class="anchor" id="gad1dbbbae10dd87179c81c9e899e4af8f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_EP_IN_MASK&#160;&#160;&#160;0x0FFF0000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>IN (TX) endpoint mask. </p>

<p>Referenced by <a class="el" href="group__usbps.html#ga60e2b0f6fabc24cdf785d704ab2585d1">XUsbPs_IntrHandler()</a>.</p>

</div>
</div>
<a class="anchor" id="ga677f89e935e0c9b679090d70fa4046d0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_EP_OUT_MASK&#160;&#160;&#160;0x00000FFF</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>OUR (RX) endpoint mask. </p>

<p>Referenced by <a class="el" href="group__usbps.html#ga60e2b0f6fabc24cdf785d704ab2585d1">XUsbPs_IntrHandler()</a>.</p>

</div>
</div>
<a class="anchor" id="ga96ac93f4536cd0c0abeff764b0c752dd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_EP_STS_ADDRESS&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Address of controller. </p>

</div>
</div>
<a class="anchor" id="ga23671067697bfc0ea6b0a688cee5de2b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_EP_STS_CONTROLLER_STATE&#160;&#160;&#160;2</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Current controller state. </p>

</div>
</div>
<a class="anchor" id="ga1c2a58518c4f4ee1e9bcd200f566ddf7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_EP_TYPE_BULK&#160;&#160;&#160;3</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Endpoint for BULK Transfers. </p>

</div>
</div>
<a class="anchor" id="gad8b727ed129801690a987d1e475bc1d5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_EP_TYPE_CONTROL&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Endpoint for Control Transfers. </p>

<p>Referenced by <a class="el" href="xusbps__audio__example_8c.html#a840291bc02cba5474a4cb46a9b9566fe">main()</a>.</p>

</div>
</div>
<a class="anchor" id="gab9833b2c2a3e69cfa5c5b2cd0be4c185"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_EP_TYPE_INTERRUPT&#160;&#160;&#160;4</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Endpoint for interrupt Transfers. </p>

</div>
</div>
<a class="anchor" id="gae012590baed99e88cd4a92ff3f65faa0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_EP_TYPE_ISOCHRONOUS&#160;&#160;&#160;2</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Endpoint for isochronous data. </p>

<p>Referenced by <a class="el" href="xusbps__audio__example_8c.html#a840291bc02cba5474a4cb46a9b9566fe">main()</a>.</p>

</div>
</div>
<a class="anchor" id="gac1d65456d504832a5a1426085545ff2d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_EP_TYPE_NONE&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Endpoint is not used. </p>

</div>
</div>
<a class="anchor" id="gad237b5e446825307327dfe71c04d2899"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_EPCOMPL_OFFSET&#160;&#160;&#160;0x000001BC</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Endpoint Complete. </p>

<p>Referenced by <a class="el" href="group__usbps.html#ga69b214c21727c4b1f641d84414f397df">XUsbPs_DeviceReset()</a>, and <a class="el" href="group__usbps.html#ga60e2b0f6fabc24cdf785d704ab2585d1">XUsbPs_IntrHandler()</a>.</p>

</div>
</div>
<a class="anchor" id="ga47cd1331f4eda4da4cee67b803da7165"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_EPCR0_OFFSET&#160;&#160;&#160;0x000001C0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Endpoint Control 0. </p>

</div>
</div>
<a class="anchor" id="ga102e27fd21789376f375b89fb3094d85"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_EPCR1_OFFSET&#160;&#160;&#160;0x000001C4</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Endpoint Control 1. </p>

<p>Referenced by <a class="el" href="xusbps__ch9__storage_8c.html#a72238ee80cba8facd72277ab2ec271de">XUsbPs_SetConfiguration()</a>.</p>

</div>
</div>
<a class="anchor" id="ga88c59c60df165a37c9a47fc90d920d35"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_EPCR2_OFFSET&#160;&#160;&#160;0x000001C8</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Endpoint Control 2. </p>

</div>
</div>
<a class="anchor" id="gaa484c437af02a5385fdfabac4d7ee258"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_EPCR3_OFFSET&#160;&#160;&#160;0x000001CC</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Endpoint Control 3. </p>

</div>
</div>
<a class="anchor" id="ga179659458416aa39985cccf15fa9f907"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_EPCR4_OFFSET&#160;&#160;&#160;0x000001D0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Endpoint Control 4. </p>

</div>
</div>
<a class="anchor" id="ga47897095bd9001c405e4c1b43f4582cd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_EPCR_RXE_MASK&#160;&#160;&#160;0x00000080</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Transmit enable. </p>
<ul>
<li>RX </li>
</ul>

</div>
</div>
<a class="anchor" id="ga9645d41ecd7e18e997368c2fb90abd1e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_EPCR_RXR_MASK&#160;&#160;&#160;0x00000040</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Data Toggle Reset Bit. </p>

<p>Referenced by <a class="el" href="xusbps__ch9__storage_8c.html#a72238ee80cba8facd72277ab2ec271de">XUsbPs_SetConfiguration()</a>.</p>

</div>
</div>
<a class="anchor" id="gaaf4f7b7545c284558f021aa3f68e45cc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_EPCR_RXS_MASK&#160;&#160;&#160;0x00000001</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Stall RX endpoint. </p>

</div>
</div>
<a class="anchor" id="gafaa776284ac5e56996ab387ab825888b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_EPCR_RXT_BULK_MASK&#160;&#160;&#160;0x00000008</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Bulk Endpoint - RX. </p>

<p>Referenced by <a class="el" href="xusbps__ch9__storage_8c.html#a72238ee80cba8facd72277ab2ec271de">XUsbPs_SetConfiguration()</a>.</p>

</div>
</div>
<a class="anchor" id="ga0f2a51408fd7e0f8454611d4232446d7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_EPCR_RXT_CONTROL_MASK&#160;&#160;&#160;0x00000000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Control Endpoint - RX. </p>

</div>
</div>
<a class="anchor" id="gaf090efcf5f240254772e385f6b1ba3d0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_EPCR_RXT_INTR_MASK&#160;&#160;&#160;0x0000000C</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Interrupt Endpoint. </p>

</div>
</div>
<a class="anchor" id="ga60e82ff6c8172020ae8ad6f9c9a63149"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_EPCR_RXT_ISO_MASK&#160;&#160;&#160;0x00000004</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Isochronous Endpoint. </p>

</div>
</div>
<a class="anchor" id="ga48f7291d1cb6051b93cd1a3c994311e6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_EPCR_RXT_TYPE_MASK&#160;&#160;&#160;0x0000000C</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Endpoint Type - RX read only. </p>

</div>
</div>
<a class="anchor" id="ga5cc1450fbbe3d6e525b363a2faf54575"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_EPCR_TXE_MASK&#160;&#160;&#160;0x00800000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Transmit enable - TX. </p>

</div>
</div>
<a class="anchor" id="gaec7cf9ddd4b206b68e8a6856c2393c53"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_EPCR_TXR_MASK&#160;&#160;&#160;0x00400000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Data Toggle Reset Bit. </p>

<p>Referenced by <a class="el" href="xusbps__ch9__storage_8c.html#a72238ee80cba8facd72277ab2ec271de">XUsbPs_SetConfiguration()</a>.</p>

</div>
</div>
<a class="anchor" id="gad22deb4883894f452b73ed38418970d0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_EPCR_TXS_MASK&#160;&#160;&#160;0x00010000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Stall TX endpoint. </p>

</div>
</div>
<a class="anchor" id="ga14f191015affc97b3a9c990c2d68de4c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_EPCR_TXT_BULK_MASK&#160;&#160;&#160;0x00080000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Bulk Endpoint - TX. </p>

<p>Referenced by <a class="el" href="xusbps__ch9__storage_8c.html#a72238ee80cba8facd72277ab2ec271de">XUsbPs_SetConfiguration()</a>.</p>

</div>
</div>
<a class="anchor" id="ga3866e020e7b739816e87e78dbeea208c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_EPCR_TXT_CONTROL_MASK&#160;&#160;&#160;0x00000000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Control Endpoint - TX. </p>

</div>
</div>
<a class="anchor" id="ga2172deb3828fcd099fe9a847ee125d09"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_EPCR_TXT_INTR_MASK&#160;&#160;&#160;0x000C0000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Interrupt Endpoint. </p>

</div>
</div>
<a class="anchor" id="ga30f6b3f0547db933121cd41cc9b6385d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_EPCR_TXT_ISO_MASK&#160;&#160;&#160;0x00040000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Isochronous. </p>
<p>Endpoint </p>

</div>
</div>
<a class="anchor" id="ga62f7e5327dfbd7d8dc083194861a406e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_EPFLUSH_OFFSET&#160;&#160;&#160;0x000001B4</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Endpoint Flush. </p>

<p>Referenced by <a class="el" href="group__usbps.html#ga69b214c21727c4b1f641d84414f397df">XUsbPs_DeviceReset()</a>.</p>

</div>
</div>
<a class="anchor" id="gae47d112e0a25161d88dfbb8e34feeb9e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_EPLISTADDR_OFFSET&#160;&#160;&#160;0x00000158</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>D: Endpoint List Addr. </p>

<p>Referenced by <a class="el" href="group__usbps.html#ga6daace32113a806a6822a6d5943a93f4">XUsbPs_ConfigureDevice()</a>.</p>

</div>
</div>
<a class="anchor" id="ga3dc13210f377cd5cfd68d6c0384c8eb4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_EPNAKIER_OFFSET&#160;&#160;&#160;0x0000017C</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Endpoint NAK IRQ Enable. </p>

</div>
</div>
<a class="anchor" id="ga7f16bb1d54ffe9b9edf7ffc2a5b3bc2e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_EPNAKISR_OFFSET&#160;&#160;&#160;0x00000178</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Endpoint NAK IRQ Status. </p>

<p>Referenced by <a class="el" href="group__usbps.html#ga60e2b0f6fabc24cdf785d704ab2585d1">XUsbPs_IntrHandler()</a>.</p>

</div>
</div>
<a class="anchor" id="gacc291723213710b2c1cef056a0a96853"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_EPPRIME_OFFSET&#160;&#160;&#160;0x000001B0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Endpoint Prime. </p>

<p>Referenced by <a class="el" href="group__usbps.html#ga69b214c21727c4b1f641d84414f397df">XUsbPs_DeviceReset()</a>, and <a class="el" href="group__usbps.html#gaba0ae2eac9c6b402e32e401333a5b105">XUsbPs_EpPrime()</a>.</p>

</div>
</div>
<a class="anchor" id="ga9838825b6c5b76393e3a5fb213caad2a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_EPRDY_OFFSET&#160;&#160;&#160;0x000001B8</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Endpoint Ready. </p>

</div>
</div>
<a class="anchor" id="ga91f2b4b1ac7ef9af2fae37c11bf79365"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_EPSTAT_OFFSET&#160;&#160;&#160;0x000001AC</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Endpoint Setup Status. </p>

<p>Referenced by <a class="el" href="group__usbps.html#ga69b214c21727c4b1f641d84414f397df">XUsbPs_DeviceReset()</a>, <a class="el" href="group__usbps.html#ga91c44ff9dcae2e47ed8112c8a0779fa1">XUsbPs_EpGetSetupData()</a>, and <a class="el" href="group__usbps.html#ga60e2b0f6fabc24cdf785d704ab2585d1">XUsbPs_IntrHandler()</a>.</p>

</div>
</div>
<a class="anchor" id="ga4157755424c1cf5507ad25cb27e279a1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_FRAME_OFFSET&#160;&#160;&#160;0x0000014C</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>USB Frame Index. </p>

</div>
</div>
<a class="anchor" id="gabfe306519d91eb6e73e2758ef0e4022a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_IER_OFFSET&#160;&#160;&#160;0x00000148</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Interrupt Enable. </p>

<p>Referenced by <a class="el" href="group__usbps.html#gaf07a1ec6f70450249f71f4831649974c">XUsbPs_ResetHw()</a>.</p>

</div>
</div>
<a class="anchor" id="gae977cbceae698547d039d7fdd643b209"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_ISR_OFFSET&#160;&#160;&#160;0x00000144</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Interrupt Status. </p>

<p>Referenced by <a class="el" href="group__usbps.html#ga60e2b0f6fabc24cdf785d704ab2585d1">XUsbPs_IntrHandler()</a>, and <a class="el" href="group__usbps.html#gaf07a1ec6f70450249f71f4831649974c">XUsbPs_ResetHw()</a>.</p>

</div>
</div>
<a class="anchor" id="ga5c8f7aac750db18c9c7f2d422805f468"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_IXR_AA_MASK&#160;&#160;&#160;0x00000020</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Async Advance. </p>

</div>
</div>
<a class="anchor" id="gabadf114268fe6ee2a2c709d7c8a79d99"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_IXR_ALL</td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">(<a class="code" href="group__usbps.html#ga6dcda0bc8640b4ab5cc9640fdfaead17">XUSBPS_IXR_UI_MASK</a>     | <a class="code" href="group__usbps.html#ga6b9c6b0fdde27b3422304b2572747c36">\</a></div>
<div class="line"><a class="code" href="group__usbps.html#ga6b9c6b0fdde27b3422304b2572747c36">		XUSBPS_IXR_UE_MASK</a>            | <a class="code" href="group__usbps.html#gaefd37186c614c21596ccdcf496537401">\</a></div>
<div class="line"><a class="code" href="group__usbps.html#gaefd37186c614c21596ccdcf496537401">		XUSBPS_IXR_PC_MASK</a>    | <a class="code" href="group__usbps.html#ga89b19513ebf10f3dfca6c3e7324b3305">\</a></div>
<div class="line"><a class="code" href="group__usbps.html#ga89b19513ebf10f3dfca6c3e7324b3305">		XUSBPS_IXR_FRE_MASK</a>   | <a class="code" href="group__usbps.html#ga5c8f7aac750db18c9c7f2d422805f468">\</a></div>
<div class="line"><a class="code" href="group__usbps.html#ga5c8f7aac750db18c9c7f2d422805f468">		XUSBPS_IXR_AA_MASK</a>    | <a class="code" href="group__usbps.html#ga8c0544cefd69591cbf14e39dab946bd0">\</a></div>
<div class="line"><a class="code" href="group__usbps.html#ga8c0544cefd69591cbf14e39dab946bd0">		XUSBPS_IXR_UR_MASK</a>            | <a class="code" href="group__usbps.html#ga6dd182686bace6f43485e17d35745d35">\</a></div>
<div class="line"><a class="code" href="group__usbps.html#ga6dd182686bace6f43485e17d35745d35">		XUSBPS_IXR_SR_MASK</a>            | <a class="code" href="group__usbps.html#gafaaf3b4cbc99557f81b0973317cdcc09">\</a></div>
<div class="line"><a class="code" href="group__usbps.html#gafaaf3b4cbc99557f81b0973317cdcc09">		XUSBPS_IXR_SLE_MASK</a>   | <a class="code" href="group__usbps.html#ga51bb44067023085967ed34685d4ba74b">\</a></div>
<div class="line"><a class="code" href="group__usbps.html#ga51bb44067023085967ed34685d4ba74b">		XUSBPS_IXR_ULPI_MASK</a>          | <a class="code" href="group__usbps.html#gae829742dd3a9a2dda9b7655cdaa29ca9">\</a></div>
<div class="line"><a class="code" href="group__usbps.html#gae829742dd3a9a2dda9b7655cdaa29ca9">		XUSBPS_IXR_HCH_MASK</a>   | <a class="code" href="group__usbps.html#ga01b34cf5aa01ab7868f68a0d4adf4b12">\</a></div>
<div class="line"><a class="code" href="group__usbps.html#ga01b34cf5aa01ab7868f68a0d4adf4b12">		XUSBPS_IXR_RCL_MASK</a>   | <a class="code" href="group__usbps.html#ga7d3bf450095dcc044d75bfb1d1e86c30">\</a></div>
<div class="line"><a class="code" href="group__usbps.html#ga7d3bf450095dcc044d75bfb1d1e86c30">		XUSBPS_IXR_PS_MASK</a> | <a class="code" href="group__usbps.html#gadb60fe887b1a5d0a53144bd07082af91">\</a></div>
<div class="line"><a class="code" href="group__usbps.html#gadb60fe887b1a5d0a53144bd07082af91">		XUSBPS_IXR_AS_MASK</a>            | <a class="code" href="group__usbps.html#ga4ef9bc78622a7a9ec47e29490ceb3d8c">\</a></div>
<div class="line"><a class="code" href="group__usbps.html#ga4ef9bc78622a7a9ec47e29490ceb3d8c">		XUSBPS_IXR_NAK_MASK</a>           | <a class="code" href="group__usbps.html#ga0284786bedf698debb6aecc0049a703d">\</a></div>
<div class="line"><a class="code" href="group__usbps.html#ga0284786bedf698debb6aecc0049a703d">		XUSBPS_IXR_UA_MASK</a>    | <a class="code" href="group__usbps.html#ga37d683771fc6d6a887eb18f730faa342">\</a></div>
<div class="line"><a class="code" href="group__usbps.html#ga37d683771fc6d6a887eb18f730faa342">		XUSBPS_IXR_UP_MASK</a> | <a class="code" href="group__usbps.html#ga89ae73b749652ec302e0ead00ecc6cbe">\</a></div>
<div class="line"><a class="code" href="group__usbps.html#ga89ae73b749652ec302e0ead00ecc6cbe">		XUSBPS_IXR_TI0_MASK</a> | <a class="code" href="group__usbps.html#ga41e93b26e7efa8d80591fdd3a396a662">\</a></div>
<div class="line"><a class="code" href="group__usbps.html#ga41e93b26e7efa8d80591fdd3a396a662">		XUSBPS_IXR_TI1_MASK</a>)</div>
<div class="ttc" id="group__usbps_html_ga6dcda0bc8640b4ab5cc9640fdfaead17"><div class="ttname"><a href="group__usbps.html#ga6dcda0bc8640b4ab5cc9640fdfaead17">XUSBPS_IXR_UI_MASK</a></div><div class="ttdeci">#define XUSBPS_IXR_UI_MASK</div><div class="ttdoc">USB Transaction Complete. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:235</div></div>
<div class="ttc" id="group__usbps_html_ga89b19513ebf10f3dfca6c3e7324b3305"><div class="ttname"><a href="group__usbps.html#ga89b19513ebf10f3dfca6c3e7324b3305">XUSBPS_IXR_FRE_MASK</a></div><div class="ttdeci">#define XUSBPS_IXR_FRE_MASK</div><div class="ttdoc">Frame List Rollover. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:238</div></div>
<div class="ttc" id="group__usbps_html_gaefd37186c614c21596ccdcf496537401"><div class="ttname"><a href="group__usbps.html#gaefd37186c614c21596ccdcf496537401">XUSBPS_IXR_PC_MASK</a></div><div class="ttdeci">#define XUSBPS_IXR_PC_MASK</div><div class="ttdoc">Port Change Detect. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:237</div></div>
<div class="ttc" id="group__usbps_html_ga0284786bedf698debb6aecc0049a703d"><div class="ttname"><a href="group__usbps.html#ga0284786bedf698debb6aecc0049a703d">XUSBPS_IXR_UA_MASK</a></div><div class="ttdeci">#define XUSBPS_IXR_UA_MASK</div><div class="ttdoc">USB Host Async IRQ. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:253</div></div>
<div class="ttc" id="group__usbps_html_ga41e93b26e7efa8d80591fdd3a396a662"><div class="ttname"><a href="group__usbps.html#ga41e93b26e7efa8d80591fdd3a396a662">XUSBPS_IXR_TI1_MASK</a></div><div class="ttdeci">#define XUSBPS_IXR_TI1_MASK</div><div class="ttdoc">Timer 1 Interrupt. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:256</div></div>
<div class="ttc" id="group__usbps_html_ga6dd182686bace6f43485e17d35745d35"><div class="ttname"><a href="group__usbps.html#ga6dd182686bace6f43485e17d35745d35">XUSBPS_IXR_SR_MASK</a></div><div class="ttdeci">#define XUSBPS_IXR_SR_MASK</div><div class="ttdoc">Start of Frame. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:241</div></div>
<div class="ttc" id="group__usbps_html_gadb60fe887b1a5d0a53144bd07082af91"><div class="ttname"><a href="group__usbps.html#gadb60fe887b1a5d0a53144bd07082af91">XUSBPS_IXR_AS_MASK</a></div><div class="ttdeci">#define XUSBPS_IXR_AS_MASK</div><div class="ttdoc">Async Sched Status Read only. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:251</div></div>
<div class="ttc" id="group__usbps_html_ga89ae73b749652ec302e0ead00ecc6cbe"><div class="ttname"><a href="group__usbps.html#ga89ae73b749652ec302e0ead00ecc6cbe">XUSBPS_IXR_TI0_MASK</a></div><div class="ttdeci">#define XUSBPS_IXR_TI0_MASK</div><div class="ttdoc">Timer 0 Interrupt. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:255</div></div>
<div class="ttc" id="group__usbps_html_ga6b9c6b0fdde27b3422304b2572747c36"><div class="ttname"><a href="group__usbps.html#ga6b9c6b0fdde27b3422304b2572747c36">XUSBPS_IXR_UE_MASK</a></div><div class="ttdeci">#define XUSBPS_IXR_UE_MASK</div><div class="ttdoc">Transaction Error. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:236</div></div>
<div class="ttc" id="group__usbps_html_ga01b34cf5aa01ab7868f68a0d4adf4b12"><div class="ttname"><a href="group__usbps.html#ga01b34cf5aa01ab7868f68a0d4adf4b12">XUSBPS_IXR_RCL_MASK</a></div><div class="ttdeci">#define XUSBPS_IXR_RCL_MASK</div><div class="ttdoc">USB Reclamation Read Only. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:247</div></div>
<div class="ttc" id="group__usbps_html_gafaaf3b4cbc99557f81b0973317cdcc09"><div class="ttname"><a href="group__usbps.html#gafaaf3b4cbc99557f81b0973317cdcc09">XUSBPS_IXR_SLE_MASK</a></div><div class="ttdeci">#define XUSBPS_IXR_SLE_MASK</div><div class="ttdoc">Device Controller Suspend. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:242</div></div>
<div class="ttc" id="group__usbps_html_ga51bb44067023085967ed34685d4ba74b"><div class="ttname"><a href="group__usbps.html#ga51bb44067023085967ed34685d4ba74b">XUSBPS_IXR_ULPI_MASK</a></div><div class="ttdeci">#define XUSBPS_IXR_ULPI_MASK</div><div class="ttdoc">ULPI IRQ. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:243</div></div>
<div class="ttc" id="group__usbps_html_ga37d683771fc6d6a887eb18f730faa342"><div class="ttname"><a href="group__usbps.html#ga37d683771fc6d6a887eb18f730faa342">XUSBPS_IXR_UP_MASK</a></div><div class="ttdeci">#define XUSBPS_IXR_UP_MASK</div><div class="ttdoc">USB Host Periodic IRQ. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:254</div></div>
<div class="ttc" id="group__usbps_html_gae829742dd3a9a2dda9b7655cdaa29ca9"><div class="ttname"><a href="group__usbps.html#gae829742dd3a9a2dda9b7655cdaa29ca9">XUSBPS_IXR_HCH_MASK</a></div><div class="ttdeci">#define XUSBPS_IXR_HCH_MASK</div><div class="ttdoc">Host Controller Halted Read Only. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:244</div></div>
<div class="ttc" id="group__usbps_html_ga7d3bf450095dcc044d75bfb1d1e86c30"><div class="ttname"><a href="group__usbps.html#ga7d3bf450095dcc044d75bfb1d1e86c30">XUSBPS_IXR_PS_MASK</a></div><div class="ttdeci">#define XUSBPS_IXR_PS_MASK</div><div class="ttdoc">Periodic Sched Status Read Only. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:248</div></div>
<div class="ttc" id="group__usbps_html_ga5c8f7aac750db18c9c7f2d422805f468"><div class="ttname"><a href="group__usbps.html#ga5c8f7aac750db18c9c7f2d422805f468">XUSBPS_IXR_AA_MASK</a></div><div class="ttdeci">#define XUSBPS_IXR_AA_MASK</div><div class="ttdoc">Async Advance. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:239</div></div>
<div class="ttc" id="group__usbps_html_ga4ef9bc78622a7a9ec47e29490ceb3d8c"><div class="ttname"><a href="group__usbps.html#ga4ef9bc78622a7a9ec47e29490ceb3d8c">XUSBPS_IXR_NAK_MASK</a></div><div class="ttdeci">#define XUSBPS_IXR_NAK_MASK</div><div class="ttdoc">NAK IRQ. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:252</div></div>
<div class="ttc" id="group__usbps_html_ga8c0544cefd69591cbf14e39dab946bd0"><div class="ttname"><a href="group__usbps.html#ga8c0544cefd69591cbf14e39dab946bd0">XUSBPS_IXR_UR_MASK</a></div><div class="ttdeci">#define XUSBPS_IXR_UR_MASK</div><div class="ttdoc">RESET Received. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:240</div></div>
</div><!-- fragment -->
<p>Mask for ALL IRQ types. </p>

</div>
</div>
<a class="anchor" id="gadb60fe887b1a5d0a53144bd07082af91"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_IXR_AS_MASK&#160;&#160;&#160;0x00008000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Async Sched Status Read only. </p>

</div>
</div>
<a class="anchor" id="ga89b19513ebf10f3dfca6c3e7324b3305"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_IXR_FRE_MASK&#160;&#160;&#160;0x00000008</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Frame List Rollover. </p>

</div>
</div>
<a class="anchor" id="gae829742dd3a9a2dda9b7655cdaa29ca9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_IXR_HCH_MASK&#160;&#160;&#160;0x00001000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Host Controller Halted Read Only. </p>

</div>
</div>
<a class="anchor" id="ga4ef9bc78622a7a9ec47e29490ceb3d8c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_IXR_NAK_MASK&#160;&#160;&#160;0x00010000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>NAK IRQ. </p>

<p>Referenced by <a class="el" href="group__usbps.html#ga60e2b0f6fabc24cdf785d704ab2585d1">XUsbPs_IntrHandler()</a>.</p>

</div>
</div>
<a class="anchor" id="gaefd37186c614c21596ccdcf496537401"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_IXR_PC_MASK&#160;&#160;&#160;0x00000004</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Port Change Detect. </p>

</div>
</div>
<a class="anchor" id="ga7d3bf450095dcc044d75bfb1d1e86c30"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_IXR_PS_MASK&#160;&#160;&#160;0x00004000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Periodic Sched Status Read Only. </p>

</div>
</div>
<a class="anchor" id="ga01b34cf5aa01ab7868f68a0d4adf4b12"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_IXR_RCL_MASK&#160;&#160;&#160;0x00002000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>USB Reclamation Read Only. </p>

</div>
</div>
<a class="anchor" id="gafaaf3b4cbc99557f81b0973317cdcc09"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_IXR_SLE_MASK&#160;&#160;&#160;0x00000100</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Device Controller Suspend. </p>

</div>
</div>
<a class="anchor" id="ga6dd182686bace6f43485e17d35745d35"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_IXR_SR_MASK&#160;&#160;&#160;0x00000080</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Start of Frame. </p>

</div>
</div>
<a class="anchor" id="ga89ae73b749652ec302e0ead00ecc6cbe"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_IXR_TI0_MASK&#160;&#160;&#160;0x01000000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Timer 0 Interrupt. </p>

</div>
</div>
<a class="anchor" id="ga41e93b26e7efa8d80591fdd3a396a662"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_IXR_TI1_MASK&#160;&#160;&#160;0x02000000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Timer 1 Interrupt. </p>

</div>
</div>
<a class="anchor" id="ga0284786bedf698debb6aecc0049a703d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_IXR_UA_MASK&#160;&#160;&#160;0x00040000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>USB Host Async IRQ. </p>

</div>
</div>
<a class="anchor" id="ga6b9c6b0fdde27b3422304b2572747c36"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_IXR_UE_MASK&#160;&#160;&#160;0x00000002</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Transaction Error. </p>

</div>
</div>
<a class="anchor" id="ga6dcda0bc8640b4ab5cc9640fdfaead17"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_IXR_UI_MASK&#160;&#160;&#160;0x00000001</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>USB Transaction Complete. </p>

<p>Referenced by <a class="el" href="xusbps__audio__example_8c.html#a840291bc02cba5474a4cb46a9b9566fe">main()</a>, <a class="el" href="group__usbps.html#ga60e2b0f6fabc24cdf785d704ab2585d1">XUsbPs_IntrHandler()</a>, and <a class="el" href="xusbps__audio__example_8c.html#a938cd4fd3524f466825dbd96299426e5">XUsbPs_SetupInterruptSystem()</a>.</p>

</div>
</div>
<a class="anchor" id="ga51bb44067023085967ed34685d4ba74b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_IXR_ULPI_MASK&#160;&#160;&#160;0x00000400</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>ULPI IRQ. </p>

</div>
</div>
<a class="anchor" id="ga37d683771fc6d6a887eb18f730faa342"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_IXR_UP_MASK&#160;&#160;&#160;0x00080000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>USB Host Periodic IRQ. </p>

</div>
</div>
<a class="anchor" id="ga8c0544cefd69591cbf14e39dab946bd0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_IXR_UR_MASK&#160;&#160;&#160;0x00000040</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>RESET Received. </p>

<p>Referenced by <a class="el" href="xusbps__audio__example_8c.html#a840291bc02cba5474a4cb46a9b9566fe">main()</a>, <a class="el" href="group__usbps.html#ga60e2b0f6fabc24cdf785d704ab2585d1">XUsbPs_IntrHandler()</a>, and <a class="el" href="xusbps__audio__example_8c.html#a938cd4fd3524f466825dbd96299426e5">XUsbPs_SetupInterruptSystem()</a>.</p>

</div>
</div>
<a class="anchor" id="gac554c295a361105374944e4e1da07aad"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_LISTBASE_OFFSET&#160;&#160;&#160;0x00000154</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>H: Periodic List Base Address. </p>

<p>Referenced by <a class="el" href="group__usbps.html#gaf07a1ec6f70450249f71f4831649974c">XUsbPs_ResetHw()</a>.</p>

</div>
</div>
<a class="anchor" id="gaa28f8c4ae7ed59f8408db86869b3fd45"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_MAX_ENDPOINTS&#160;&#160;&#160;12</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Number of supported Endpoints in this core. </p>

</div>
</div>
<a class="anchor" id="ga5a7ef0c01940cfeca4472b08b09e51f8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_MAX_PACKET_SIZE&#160;&#160;&#160;1024</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Maximum value can be put into the queue head. </p>

</div>
</div>
<a class="anchor" id="ga21895053e36613907d8dfd92e791080f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_MODE_CM_MASK&#160;&#160;&#160;0x00000003</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Controller Mode Select. </p>

</div>
</div>
<a class="anchor" id="ga8c0064a0ca9cb4bdfad9e2d4544a2181"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_MODE_ES_MASK&#160;&#160;&#160;0x00000004</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>USB Endian Select. </p>

</div>
</div>
<a class="anchor" id="ga7859e516b7713cfa335263a8300ab868"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_MODE_OFFSET&#160;&#160;&#160;0x000001A8</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>USB Mode. </p>

<p>Referenced by <a class="el" href="group__usbps.html#ga6daace32113a806a6822a6d5943a93f4">XUsbPs_ConfigureDevice()</a>.</p>

</div>
</div>
<a class="anchor" id="ga591b1b17bdb9a916c625e48e348b0a2f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_MODE_SLOM_MASK&#160;&#160;&#160;0x00000008</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>USB Setup Lockout Mode Disable. </p>

<p>Referenced by <a class="el" href="group__usbps.html#ga6daace32113a806a6822a6d5943a93f4">XUsbPs_ConfigureDevice()</a>.</p>

</div>
</div>
<a class="anchor" id="ga45a182e7fb3993949604759cf7db6711"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_OTG_IEB_ALL</td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">(<a class="code" href="group__usbps.html#gae72f487267814e2b4efea626ddaf9227">XUSBPS_OTGSC_IDIE_MASK</a> |<a class="code" href="group__usbps.html#ga992634fdae8964f9525f406bf6c302f4">\</a></div>
<div class="line"><a class="code" href="group__usbps.html#ga992634fdae8964f9525f406bf6c302f4">				 XUSBPS_OTGSC_AVVIE_MASK</a> | <a class="code" href="group__usbps.html#ga3dfd8cc7d3acb160acc612bad8c56f62">\</a></div>
<div class="line"><a class="code" href="group__usbps.html#ga3dfd8cc7d3acb160acc612bad8c56f62">				 XUSBPS_OTGSC_ASVIE_MASK</a> | <a class="code" href="group__usbps.html#ga0d51d2db4a4ebde3bb55baa8a2342de7">\</a></div>
<div class="line"><a class="code" href="group__usbps.html#ga0d51d2db4a4ebde3bb55baa8a2342de7">				 XUSBPS_OTGSC_BSVIE_MASK</a> | \</div>
<div class="line">                                 XUSBPS_OTGSC_BSEE_IEB_MASK | <a class="code" href="group__usbps.html#gaf0ebd2a0508208cecd0f035c5c5d3de0">\</a></div>
<div class="line"><a class="code" href="group__usbps.html#gaf0ebd2a0508208cecd0f035c5c5d3de0">				 XUSBPS_OTGSC_1MSE_MASK</a> | <a class="code" href="group__usbps.html#ga929405e5691f0cde005d98404d57fcc7">\</a></div>
<div class="line"><a class="code" href="group__usbps.html#ga929405e5691f0cde005d98404d57fcc7">				 XUSBPS_OTGSC_DPIE_MASK</a>)</div>
<div class="ttc" id="group__usbps_html_ga0d51d2db4a4ebde3bb55baa8a2342de7"><div class="ttname"><a href="group__usbps.html#ga0d51d2db4a4ebde3bb55baa8a2342de7">XUSBPS_OTGSC_BSVIE_MASK</a></div><div class="ttdeci">#define XUSBPS_OTGSC_BSVIE_MASK</div><div class="ttdoc">USB B Session Valid Interrupt Enable Bit. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:418</div></div>
<div class="ttc" id="group__usbps_html_ga929405e5691f0cde005d98404d57fcc7"><div class="ttname"><a href="group__usbps.html#ga929405e5691f0cde005d98404d57fcc7">XUSBPS_OTGSC_DPIE_MASK</a></div><div class="ttdeci">#define XUSBPS_OTGSC_DPIE_MASK</div><div class="ttdoc">Data Pulse Interrupt Enable Bit. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:423</div></div>
<div class="ttc" id="group__usbps_html_ga992634fdae8964f9525f406bf6c302f4"><div class="ttname"><a href="group__usbps.html#ga992634fdae8964f9525f406bf6c302f4">XUSBPS_OTGSC_AVVIE_MASK</a></div><div class="ttdeci">#define XUSBPS_OTGSC_AVVIE_MASK</div><div class="ttdoc">USB A VBus Valid Interrupt Enable Bit. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:416</div></div>
<div class="ttc" id="group__usbps_html_ga3dfd8cc7d3acb160acc612bad8c56f62"><div class="ttname"><a href="group__usbps.html#ga3dfd8cc7d3acb160acc612bad8c56f62">XUSBPS_OTGSC_ASVIE_MASK</a></div><div class="ttdeci">#define XUSBPS_OTGSC_ASVIE_MASK</div><div class="ttdoc">USB A Session Valid Interrupt Enable Bit. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:417</div></div>
<div class="ttc" id="group__usbps_html_gaf0ebd2a0508208cecd0f035c5c5d3de0"><div class="ttname"><a href="group__usbps.html#gaf0ebd2a0508208cecd0f035c5c5d3de0">XUSBPS_OTGSC_1MSE_MASK</a></div><div class="ttdeci">#define XUSBPS_OTGSC_1MSE_MASK</div><div class="ttdoc">1 Millisecond Timer Interrupt Enable Bit </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:420</div></div>
<div class="ttc" id="group__usbps_html_gae72f487267814e2b4efea626ddaf9227"><div class="ttname"><a href="group__usbps.html#gae72f487267814e2b4efea626ddaf9227">XUSBPS_OTGSC_IDIE_MASK</a></div><div class="ttdeci">#define XUSBPS_OTGSC_IDIE_MASK</div><div class="ttdoc">ID Interrupt Enable Bit. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:415</div></div>
</div><!-- fragment -->
<p>Mask for All IRQ status masks. </p>

</div>
</div>
<a class="anchor" id="ga41f69a3714eb428a049d90b3d1f8ae63"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_OTGCSR_OFFSET&#160;&#160;&#160;0x000001A4</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>OTG Status and Control. </p>

<p>Referenced by <a class="el" href="group__usbps.html#ga6daace32113a806a6822a6d5943a93f4">XUsbPs_ConfigureDevice()</a>.</p>

</div>
</div>
<a class="anchor" id="gaf0ebd2a0508208cecd0f035c5c5d3de0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_OTGSC_1MSE_MASK&#160;&#160;&#160;0x20000000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>1 Millisecond Timer Interrupt Enable Bit </p>

</div>
</div>
<a class="anchor" id="ga1b21358c42955a59a14216653a7e2fed"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_OTGSC_1MSS_MASK&#160;&#160;&#160;0x00200000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>1 Millisecond Timer Interrupt Status Flag </p>

</div>
</div>
<a class="anchor" id="gaa0d43b964c7795fa8f97de05a4003968"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_OTGSC_1MST_MASK&#160;&#160;&#160;0x00002000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>USB 1 Millisecond Timer Status Flag. </p>

</div>
</div>
<a class="anchor" id="gaafe4f6f4d329fa8d2bf7d3a53dea0446"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_OTGSC_ASV_MASK&#160;&#160;&#160;0x00000400</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>USB A Session Valid Interrupt Status Flag. </p>

</div>
</div>
<a class="anchor" id="ga3dfd8cc7d3acb160acc612bad8c56f62"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_OTGSC_ASVIE_MASK&#160;&#160;&#160;0x04000000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>USB A Session Valid Interrupt Enable Bit. </p>

</div>
</div>
<a class="anchor" id="ga663f6ece2fd49add15e6b09ae3c158c6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_OTGSC_ASVIS_MASK&#160;&#160;&#160;0x00040000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>USB A Session Valid Interrupt Status Flag. </p>

</div>
</div>
<a class="anchor" id="gaac4219ae6323b31d4a47f4fbdf8e033d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_OTGSC_AVV_MASK&#160;&#160;&#160;0x00000200</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>USB A VBus Valid Interrupt Status Flag. </p>

</div>
</div>
<a class="anchor" id="ga992634fdae8964f9525f406bf6c302f4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_OTGSC_AVVIE_MASK&#160;&#160;&#160;0x02000000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>USB A VBus Valid Interrupt Enable Bit. </p>

</div>
</div>
<a class="anchor" id="ga0c18d9fe65c7d984732572294584e230"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_OTGSC_AVVIS_MASK&#160;&#160;&#160;0x00020000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>USB A VBus Valid Interrupt Status Flag. </p>

</div>
</div>
<a class="anchor" id="gae04026316f9e7945aa100bd80f734fc2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_OTGSC_BSE_MASK&#160;&#160;&#160;0x00001000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>USB B Session End Status Flag. </p>

</div>
</div>
<a class="anchor" id="ga1d817258eb5221723892b52d16064124"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_OTGSC_BSEE_MASK&#160;&#160;&#160;0x10000000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>USB B Session End Interrupt Enable Bit. </p>

</div>
</div>
<a class="anchor" id="gad9c241fd267427bde173769007392d09"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_OTGSC_BSEIS_MASK&#160;&#160;&#160;0x00100000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>USB B Session End Interrupt Status Flag. </p>

</div>
</div>
<a class="anchor" id="ga5cf6d5161376a3fdd350e1d83e8f5d6a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_OTGSC_BSV_MASK&#160;&#160;&#160;0x00000800</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>USB B Session Valid Status Flag. </p>

</div>
</div>
<a class="anchor" id="ga0d51d2db4a4ebde3bb55baa8a2342de7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_OTGSC_BSVIE_MASK&#160;&#160;&#160;0x08000000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>USB B Session Valid Interrupt Enable Bit. </p>

</div>
</div>
<a class="anchor" id="ga0d7a0968c4d46fbc7acef420971f2091"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_OTGSC_BSVIS_MASK&#160;&#160;&#160;0x00080000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>USB B Session Valid Interrupt Status Flag. </p>

</div>
</div>
<a class="anchor" id="gadf8d7e9df1fbfc49fa27f45bb544d546"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_OTGSC_DP_MASK&#160;&#160;&#160;0x00000010</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Data Pulsing Pull-up Enable Bit. </p>

</div>
</div>
<a class="anchor" id="ga929405e5691f0cde005d98404d57fcc7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_OTGSC_DPIE_MASK&#160;&#160;&#160;0x40000000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Data Pulse Interrupt Enable Bit. </p>

</div>
</div>
<a class="anchor" id="gadb8c22e732296af62ee2ef525ae15c2e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_OTGSC_DPIS_MASK&#160;&#160;&#160;0x00400000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Data Pulse Interrupt Status Flag. </p>

</div>
</div>
<a class="anchor" id="ga1ab3e499a08d4332856ed252eeeb0ac5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_OTGSC_DPS_MASK&#160;&#160;&#160;0x00004000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Data Pulse Status Flag. </p>

</div>
</div>
<a class="anchor" id="ga2e57b1893a94267b225818eab4f356cf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_OTGSC_HAAR_MASK&#160;&#160;&#160;0x00000004</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>HW Assist Auto Reset Enable Bit. </p>

</div>
</div>
<a class="anchor" id="ga87549f3fc330a0479d325cfe1d8b5e67"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_OTGSC_HABA_MASK&#160;&#160;&#160;0x00000080</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>USB Hardware Assist B Disconnect to A Connect Enable Bit. </p>

</div>
</div>
<a class="anchor" id="ga32bf4c1617f4d76058de570d9a9a7f80"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_OTGSC_HADP_MASK&#160;&#160;&#160;0x00000040</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>HW Assist Data Pulse Enable Bit. </p>

</div>
</div>
<a class="anchor" id="ga80240394c8c8067c108fad5fad6fa01d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_OTGSC_ID_MASK&#160;&#160;&#160;0x00000100</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>ID Status Flag. </p>

</div>
</div>
<a class="anchor" id="gae72f487267814e2b4efea626ddaf9227"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_OTGSC_IDIE_MASK&#160;&#160;&#160;0x01000000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>ID Interrupt Enable Bit. </p>

</div>
</div>
<a class="anchor" id="gaf429ced13773b3bd51a574f432da6da6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_OTGSC_IDIS_MASK&#160;&#160;&#160;0x00010000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>USB ID Interrupt Status Flag. </p>

</div>
</div>
<a class="anchor" id="ga0d20e551660706bb6baa638b92a66e85"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_OTGSC_IDPU_MASK&#160;&#160;&#160;0x00000020</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>ID Pull-up Enable Bit. </p>

</div>
</div>
<a class="anchor" id="ga5fa9fe6a9f212d24be7c3e351dc8385b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_OTGSC_OT_MASK&#160;&#160;&#160;0x00000008</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>OTG Termination Bit. </p>

<p>Referenced by <a class="el" href="group__usbps.html#ga6daace32113a806a6822a6d5943a93f4">XUsbPs_ConfigureDevice()</a>.</p>

</div>
</div>
<a class="anchor" id="ga38adf90c7ac0c3cdae6b181f0f1961a7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_OTGSC_VC_MASK&#160;&#160;&#160;0x00000002</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>VBus Charge Bit. </p>

</div>
</div>
<a class="anchor" id="gae1da15ba0e113d7bf2fc14e4dbecaa34"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_OTGSC_VD_MASK&#160;&#160;&#160;0x00000001</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>VBus Discharge Bit. </p>

</div>
</div>
<a class="anchor" id="ga3e6302971cb6f32b61bd601152babdfd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_PORTSCR1_OFFSET&#160;&#160;&#160;0x00000184</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Port Control/Status 1. </p>

</div>
</div>
<a class="anchor" id="ga1f7ff22d780c1ee16c4d88099bcc2602"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_PORTSCR_CCS_MASK&#160;&#160;&#160;0x00000001</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Current Connect Status. </p>

</div>
</div>
<a class="anchor" id="gad37164741082835f3b861cad893941ff"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_PORTSCR_CSC_MASK&#160;&#160;&#160;0x00000002</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Connect Status Change. </p>

</div>
</div>
<a class="anchor" id="ga74d93aa96409e16a96e343829f8216ba"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_PORTSCR_FPR_MASK&#160;&#160;&#160;0x00000040</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Force Port Resume. </p>

</div>
</div>
<a class="anchor" id="ga00ad12820a96f9aeb7bcbb226169129b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_PORTSCR_HSP_MASK&#160;&#160;&#160;0x00000200</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>High Speed Port. </p>

</div>
</div>
<a class="anchor" id="ga8a608f17d2baad09aee1c4f73295bcb0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_PORTSCR_LS_MASK&#160;&#160;&#160;0x00000C00</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Line Status. </p>

</div>
</div>
<a class="anchor" id="gad99c26d2a08b184a68fe732358d89c72"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_PORTSCR_OCA_MASK&#160;&#160;&#160;0x00000010</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Over-current Active. </p>

</div>
</div>
<a class="anchor" id="ga68b7f81daf6dda1c9a6379af20932a5b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_PORTSCR_OCC_MASK&#160;&#160;&#160;0x00000020</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Over-current Change. </p>

</div>
</div>
<a class="anchor" id="gab274c9ed03c6cbbc03db9dc3f3da455c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_PORTSCR_PE_MASK&#160;&#160;&#160;0x00000004</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Port Enable/Disable. </p>

</div>
</div>
<a class="anchor" id="ga2a26835d837358c1a734677185e29287"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_PORTSCR_PEC_MASK&#160;&#160;&#160;0x00000008</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Port Enable/Disable Change. </p>

</div>
</div>
<a class="anchor" id="ga56979f03747794e45b17e23f14361015"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_PORTSCR_PFSC_MASK&#160;&#160;&#160;0x01000000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Port Force Full Speed Connect. </p>

</div>
</div>
<a class="anchor" id="ga64e49cd2f69f2c41bae305fa0821b2e6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_PORTSCR_PHCD_MASK&#160;&#160;&#160;0x00800000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>PHY Low Power Suspend - Clock Disable. </p>

</div>
</div>
<a class="anchor" id="ga77a673c7bd65d70ebfdce6c4321f69bc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_PORTSCR_PIC_MASK&#160;&#160;&#160;0x0000C000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Port Indicator Control. </p>

</div>
</div>
<a class="anchor" id="ga3239c1f980bdbfea26b1820a201ea88c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_PORTSCR_PO_MASK&#160;&#160;&#160;0x00002000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Port Owner. </p>

</div>
</div>
<a class="anchor" id="gacdd58f1d06bae848a57d0a9e61905506"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_PORTSCR_PP_MASK&#160;&#160;&#160;0x00001000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Port Power. </p>

</div>
</div>
<a class="anchor" id="ga0fab2bb4be65fa0d3479a3d75f58e736"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_PORTSCR_PR_MASK&#160;&#160;&#160;0x00000100</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Port Reset. </p>

</div>
</div>
<a class="anchor" id="ga6858d711a08a55899702a1af580f0aec"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_PORTSCR_PSPD_MASK&#160;&#160;&#160;0x0C000000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Port Speed. </p>

</div>
</div>
<a class="anchor" id="ga655cd7d9ae804719dfea41970e00c4c4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_PORTSCR_PTC_MASK&#160;&#160;&#160;0x000F0000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Port Test Control. </p>

</div>
</div>
<a class="anchor" id="gae9d4f360fcad407d434ca9b307d6b1da"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_PORTSCR_SUSP_MASK&#160;&#160;&#160;0x00000080</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Suspend. </p>

</div>
</div>
<a class="anchor" id="gaad32baeb49d1a6eb7d4940d6dde4a44b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_PORTSCR_WKCN_MASK&#160;&#160;&#160;0x00100000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Wake on Connect Enable. </p>

</div>
</div>
<a class="anchor" id="gad40c098d22fd6b435845c3f7e6e27466"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_PORTSCR_WKDS_MASK&#160;&#160;&#160;0x00200000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Wake on Disconnect Enable. </p>

</div>
</div>
<a class="anchor" id="ga3aabd08d1fb46bf56b0ecf1f2723a62f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_PORTSCR_WKOC_MASK&#160;&#160;&#160;0x00400000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Wake on Over-current Enable. </p>

</div>
</div>
<a class="anchor" id="ga839c21d9f38839e4feb1c9e65a8c1737"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUsbPs_ReaddQH</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">dQHPtr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">Id&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;(*(u32 *)((u32)(dQHPtr) + (u32) (Id)))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This macro reads the content of a field in a Queue Head. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dQHPtr</td><td>is a pointer to the dQH element. </td></tr>
    <tr><td class="paramname">Id</td><td>is the Field ID inside the dQH element to read.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: u32 <a class="el" href="group__usbps.html#ga839c21d9f38839e4feb1c9e65a8c1737" title="This macro reads the content of a field in a Queue Head. ">XUsbPs_ReaddQH(u32 dQHPtr, u32 Id)</a> </dd></dl>

<p>Referenced by <a class="el" href="group__usbps.html#ga91c44ff9dcae2e47ed8112c8a0779fa1">XUsbPs_EpGetSetupData()</a>.</p>

</div>
</div>
<a class="anchor" id="ga8fb175f0a451903f999c9ddf2454eaa6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUsbPs_ReaddTD</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">dTDPtr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">Id&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;(*(u32 *)((u32)(dTDPtr) + (u32)(Id)))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This macro reads the content of a field in a Transfer Descriptor. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dTDPtr</td><td>is a pointer to the dTD element. </td></tr>
    <tr><td class="paramname">Id</td><td>is the field ID inside the dTD element to read.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: u32 <a class="el" href="group__usbps.html#ga8fb175f0a451903f999c9ddf2454eaa6" title="This macro reads the content of a field in a Transfer Descriptor. ">XUsbPs_ReaddTD(u32 dTDPtr, u32 Id)</a> </dd></dl>

<p>Referenced by <a class="el" href="group__usbps.html#gac27a9d64ddf33a2400d7493e301a7192">XUsbPs_EpBufferReceive()</a>, and <a class="el" href="group__usbps.html#ga0532b9ebbcab7bb72ec6bef692e20faf">XUsbPs_EpGetData()</a>.</p>

</div>
</div>
<a class="anchor" id="gae013de4110ae5cd348830c36a365fb14"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUsbPs_ReadReg</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">BaseAddress, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">RegOffset&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;Xil_In32(BaseAddress + (RegOffset))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This macro reads the given register. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">BaseAddress</td><td>is the base address for the USB registers. </td></tr>
    <tr><td class="paramname">RegOffset</td><td>is the register offset to be read.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The 32-bit value of the register.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: u32 <a class="el" href="group__usbps.html#gae013de4110ae5cd348830c36a365fb14" title="This macro reads the given register. ">XUsbPs_ReadReg(u32 BaseAddress, u32 RegOffset)</a> </dd></dl>

<p>Referenced by <a class="el" href="group__usbps.html#ga69b214c21727c4b1f641d84414f397df">XUsbPs_DeviceReset()</a>, <a class="el" href="group__usbps.html#ga91c44ff9dcae2e47ed8112c8a0779fa1">XUsbPs_EpGetSetupData()</a>, <a class="el" href="group__usbps.html#ga60e2b0f6fabc24cdf785d704ab2585d1">XUsbPs_IntrHandler()</a>, <a class="el" href="group__usbps.html#ga2c583a4c515653fd70c111fe0d2ddb37">XUsbPs_Reset()</a>, and <a class="el" href="group__usbps.html#gaf07a1ec6f70450249f71f4831649974c">XUsbPs_ResetHw()</a>.</p>

</div>
</div>
<a class="anchor" id="ga793766da0e2d717dbfa20163f4813087"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_TTCTRL_HUBADDR_MASK&#160;&#160;&#160;0x7F000000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>TT Hub Address. </p>

</div>
</div>
<a class="anchor" id="gaeaa8a496dfe864a918d3128416ea13fd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_TTCTRL_OFFSET&#160;&#160;&#160;0x0000015C</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>TT Control. </p>

</div>
</div>
<a class="anchor" id="ga4d04065b099b8d1cd4b0eabde5810098"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_TXFILL_BURST_MASK&#160;&#160;&#160;0x003F0000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>FIFO Burst Threshold. </p>

</div>
</div>
<a class="anchor" id="gacbc143cb51c906fc1b821b6a938490aa"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_TXFILL_HEALTH_MASK&#160;&#160;&#160;0x00001F00</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Scheduler Health Cntr. </p>

</div>
</div>
<a class="anchor" id="gaf9690c347e4d95007f1dfdf243630414"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_TXFILL_OFFSET&#160;&#160;&#160;0x00000164</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Tx Fill Tuning. </p>

</div>
</div>
<a class="anchor" id="ga4a9a9a77f1a2761587df8966ec13d031"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_TXFILL_OVERHEAD_MASK&#160;&#160;&#160;0x000000FF</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Scheduler Overhead. </p>

</div>
</div>
<a class="anchor" id="gae3f07141aec7fafcc8becb6cdb0db654"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_ULPIVIEW_ADDR_MASK&#160;&#160;&#160;0x00FF0000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>ULPI Data Address. </p>

</div>
</div>
<a class="anchor" id="ga0978f0c576857e7784856f6ef9ca197e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_ULPIVIEW_DATRD_MASK&#160;&#160;&#160;0x0000FF00</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>ULPI Data Read. </p>

</div>
</div>
<a class="anchor" id="ga0a4d270a758a6148ee610f9902180ba2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_ULPIVIEW_DATWR_MASK&#160;&#160;&#160;0x000000FF</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>ULPI Data Write. </p>

</div>
</div>
<a class="anchor" id="ga464998ead6aa79a089f18bb1e9e04be4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_ULPIVIEW_OFFSET&#160;&#160;&#160;0x00000170</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>ULPI Viewport. </p>

</div>
</div>
<a class="anchor" id="ga93c88a0e5ad57a6436362e8fb41e90e2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_ULPIVIEW_PORT_MASK&#160;&#160;&#160;0x07000000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>ULPI Port Number. </p>

</div>
</div>
<a class="anchor" id="gabf8b7addc203c447efc5ed6dad7f5674"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_ULPIVIEW_RUN_MASK&#160;&#160;&#160;0x40000000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>ULPI Run. </p>

</div>
</div>
<a class="anchor" id="ga5f681007ccdbcc03cfb5a8cc768cff92"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_ULPIVIEW_RW_MASK&#160;&#160;&#160;0x20000000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>ULPI Read/Write Control. </p>

</div>
</div>
<a class="anchor" id="ga32a5f6fd391848b7671fc16e8a97f05f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_ULPIVIEW_SS_MASK&#160;&#160;&#160;0x08000000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>ULPI Synchronous State. </p>

</div>
</div>
<a class="anchor" id="gaef6f3ff76a2d742eeec261cd4ebd2306"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUSBPS_ULPIVIEW_WU_MASK&#160;&#160;&#160;0x80000000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>ULPI Wakeup. </p>

</div>
</div>
<a class="anchor" id="gac4e6554153ee40366d383af1292c04ab"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUsbPs_WritedQH</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">dQHPtr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">Id, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">Val&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;(*(u32 *) ((u32)(dQHPtr) + (u32)(Id)) = (u32)(Val))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This macro writes a value to a field in a Queue Head. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dQHPtr</td><td>is a pointer to the dQH element. </td></tr>
    <tr><td class="paramname">Id</td><td>is the Field ID inside the dQH element to read. </td></tr>
    <tr><td class="paramname">Val</td><td>is the Value to write to the field.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: u32 <a class="el" href="group__usbps.html#gac4e6554153ee40366d383af1292c04ab" title="This macro writes a value to a field in a Queue Head. ">XUsbPs_WritedQH(u32 dQHPtr, u32 Id, u32 Val)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga46b39addcef0c64d911bcb4fef09995f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUsbPs_WritedTD</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">dTDPtr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">Id, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">Val&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;(*(u32 *) ((u32)(dTDPtr) + (u32)(Id)) = (u32)(Val))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This macro writes a value to a field in a Transfer Descriptor. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dTDPtr</td><td>is pointer to the dTD element. </td></tr>
    <tr><td class="paramname">Id</td><td>is the field ID inside the dTD element to read. </td></tr>
    <tr><td class="paramname">Val</td><td>is the value to write to the field.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: u32 <a class="el" href="group__usbps.html#ga46b39addcef0c64d911bcb4fef09995f" title="This macro writes a value to a field in a Transfer Descriptor. ">XUsbPs_WritedTD(u32 dTDPtr, u32 Id, u32 Val)</a> </dd></dl>

<p>Referenced by <a class="el" href="group__usbps.html#gac27a9d64ddf33a2400d7493e301a7192">XUsbPs_EpBufferReceive()</a>, and <a class="el" href="group__usbps.html#ga0532b9ebbcab7bb72ec6bef692e20faf">XUsbPs_EpGetData()</a>.</p>

</div>
</div>
<a class="anchor" id="gaefd4e31b2628602507b5df0f7d9c934f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUsbPs_WriteReg</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">BaseAddress, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">RegOffset, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">Data&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;Xil_Out32(BaseAddress + (RegOffset), (Data))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This macro writes the given register. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">BaseAddress</td><td>is the the base address for the USB registers. </td></tr>
    <tr><td class="paramname">RegOffset</td><td>is the register offset to be written. </td></tr>
    <tr><td class="paramname">Data</td><td>is the the 32-bit value to write to the register.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="group__usbps.html#gaefd4e31b2628602507b5df0f7d9c934f" title="This macro writes the given register. ">XUsbPs_WriteReg(u32 BaseAddress, u32 RegOffset, u32 Data)</a> </dd></dl>

<p>Referenced by <a class="el" href="group__usbps.html#ga6daace32113a806a6822a6d5943a93f4">XUsbPs_ConfigureDevice()</a>, <a class="el" href="group__usbps.html#ga69b214c21727c4b1f641d84414f397df">XUsbPs_DeviceReset()</a>, <a class="el" href="group__usbps.html#ga91c44ff9dcae2e47ed8112c8a0779fa1">XUsbPs_EpGetSetupData()</a>, <a class="el" href="group__usbps.html#gaba0ae2eac9c6b402e32e401333a5b105">XUsbPs_EpPrime()</a>, <a class="el" href="group__usbps.html#ga60e2b0f6fabc24cdf785d704ab2585d1">XUsbPs_IntrHandler()</a>, <a class="el" href="group__usbps.html#ga2c583a4c515653fd70c111fe0d2ddb37">XUsbPs_Reset()</a>, <a class="el" href="group__usbps.html#gaf07a1ec6f70450249f71f4831649974c">XUsbPs_ResetHw()</a>, and <a class="el" href="group__usbps.html#ga8c700bcf9ba08271914145803776d265">XUsbPs_SetDeviceAddress()</a>.</p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga1a3417695facf9eff86ce6a1e14a9bbc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XUsbPs_CfgInitialize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="struct_x_usb_ps___config.html">XUsbPs_Config</a> *&#160;</td>
          <td class="paramname"><em>ConfigPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>VirtBaseAddress</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function initializes a <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> instance/driver. </p>
<p>Setup / Initialize functions.</p>
<p>The initialization entails:</p>
<ul>
<li>Initialize all members of the <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> structure.</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> instance of the controller. </td></tr>
    <tr><td class="paramname">ConfigPtr</td><td>is a pointer to a <a class="el" href="struct_x_usb_ps___config.html" title="The XUsbPs_Config structure contains configuration information for the USB controller. ">XUsbPs_Config</a> configuration structure. This structure will contain the requested configuration for the device. Typically, this is a local structure and the content of which will be copied into the configuration structure within <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a>. </td></tr>
    <tr><td class="paramname">VirtBaseAddress</td><td>is the base address of the device. For systems with virtual memory, this address must be the virtual address of the device. For systems that do not support virtual memory this address should be the physical address of the device. For backwards compatibility NULL may be passed in systems that do not support virtual memory (deprecated).</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS no errors occurred.</li>
<li>XST_FAILURE an error occurred during initialization.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>After calling <a class="el" href="group__usbps.html#ga1a3417695facf9eff86ce6a1e14a9bbc" title="This function initializes a XUsbPs instance/driver. ">XUsbPs_CfgInitialize()</a> the controller IS NOT READY for use. Before the controller can be used its DEVICE parameters must be configured. See <a class="el" href="xusbps_8h.html">xusbps.h</a> for details. </dd></dl>

<p>References <a class="el" href="struct_x_usb_ps___config.html#a0fc8018ea01456a111464cf7d9f7ed04">XUsbPs_Config::BaseAddress</a>, <a class="el" href="struct_x_usb_ps.html#a85f47a2007b61d22d85cc229a7afe26b">XUsbPs::Config</a>, <a class="el" href="struct_x_usb_ps.html#a80882eb961ff042c499032cce8213eb6">XUsbPs::CurrentAltSetting</a>, <a class="el" href="struct_x_usb_ps.html#acdcf162fbc8bd0b2e4eb32386bdb22d8">XUsbPs::HandlerFunc</a>, and <a class="el" href="group__usbps.html#gad86f6c8b6ff536870e40a018308ee9d7">XUSBPS_DEFAULT_ALT_SETTING</a>.</p>

<p>Referenced by <a class="el" href="xusbps__audio__example_8c.html#a151422305b638ea9418bbd8d0639f93d">XUsbPs_CfgInit()</a>.</p>

</div>
</div>
<a class="anchor" id="ga6daace32113a806a6822a6d5943a93f4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XUsbPs_ConfigureDevice </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="struct_x_usb_ps___device_config.html">XUsbPs_DeviceConfig</a> *&#160;</td>
          <td class="paramname"><em>CfgPtr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function configures the DEVICE side of the controller. </p>
<p>The caller needs to pass in the desired configuration (e.g. number of endpoints) and a DMAable buffer that will hold the Queue Head List and the Transfer Descriptors. The required size for this buffer can be obtained by the caller using the: XUsbPs_DeviceMemRequired() macro.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> instance of the controller. </td></tr>
    <tr><td class="paramname">CfgPtr</td><td>is a pointer to the configuration structure that contains the desired DEVICE side configuration.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS: The operation completed successfully.</li>
<li>XST_FAILURE: An error occurred.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>The caller may configure the controller for both, DEVICE and HOST side. </dd></dl>

<p>References <a class="el" href="struct_x_usb_ps___config.html#a0fc8018ea01456a111464cf7d9f7ed04">XUsbPs_Config::BaseAddress</a>, <a class="el" href="struct_x_usb_ps.html#a85f47a2007b61d22d85cc229a7afe26b">XUsbPs::Config</a>, <a class="el" href="struct_x_usb_ps.html#a6b2850e98dd08df31ee5369ce56e8c50">XUsbPs::DeviceConfig</a>, <a class="el" href="struct_x_usb_ps___device_config.html#a0a5c8ac8a91e6d08ee7c74e6b1d7ad0e">XUsbPs_DeviceConfig::DMAMemPhys</a>, <a class="el" href="struct_x_usb_ps___device_config.html#a6098d846df00c20ac64592a1794400dc">XUsbPs_DeviceConfig::PhysAligned</a>, <a class="el" href="group__usbps.html#ga5b6ed1e5110a39ee013edb1c2d1870e6">XUSBPS_dQH_BASE_ALIGN</a>, <a class="el" href="group__usbps.html#gae47d112e0a25161d88dfbb8e34feeb9e">XUSBPS_EPLISTADDR_OFFSET</a>, <a class="el" href="group__usbps.html#ga7859e516b7713cfa335263a8300ab868">XUSBPS_MODE_OFFSET</a>, <a class="el" href="group__usbps.html#ga591b1b17bdb9a916c625e48e348b0a2f">XUSBPS_MODE_SLOM_MASK</a>, <a class="el" href="group__usbps.html#ga41f69a3714eb428a049d90b3d1f8ae63">XUSBPS_OTGCSR_OFFSET</a>, <a class="el" href="group__usbps.html#ga5fa9fe6a9f212d24be7c3e351dc8385b">XUSBPS_OTGSC_OT_MASK</a>, <a class="el" href="group__usbps.html#ga2c583a4c515653fd70c111fe0d2ddb37">XUsbPs_Reset()</a>, <a class="el" href="xusbps_8h.html#ab3136c0894811be3b4406dff0d7634f8">XUsbPs_SetBits</a>, and <a class="el" href="group__usbps.html#gaefd4e31b2628602507b5df0f7d9c934f">XUsbPs_WriteReg</a>.</p>

<p>Referenced by <a class="el" href="xusbps__audio__example_8c.html#a840291bc02cba5474a4cb46a9b9566fe">main()</a>.</p>

</div>
</div>
<a class="anchor" id="ga69b214c21727c4b1f641d84414f397df"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XUsbPs_DeviceReset </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function performs device reset, device is stopped at the end. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> instance of the controller.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_usb_ps___config.html#a0fc8018ea01456a111464cf7d9f7ed04">XUsbPs_Config::BaseAddress</a>, <a class="el" href="struct_x_usb_ps.html#a85f47a2007b61d22d85cc229a7afe26b">XUsbPs::Config</a>, <a class="el" href="group__usbps.html#gaf4e60df9453b2ca88e075768c80eb362">XUSBPS_CMD_OFFSET</a>, <a class="el" href="group__usbps.html#ga0da6c04d3bd127161f774e9be81e5b51">XUSBPS_CMD_RST_MASK</a>, <a class="el" href="group__usbps.html#gaad8c8159ca5944bbb672dbecd2ca4e2e">XUSBPS_EP_ALL_MASK</a>, <a class="el" href="group__usbps.html#gad237b5e446825307327dfe71c04d2899">XUSBPS_EPCOMPL_OFFSET</a>, <a class="el" href="group__usbps.html#ga62f7e5327dfbd7d8dc083194861a406e">XUSBPS_EPFLUSH_OFFSET</a>, <a class="el" href="group__usbps.html#gacc291723213710b2c1cef056a0a96853">XUSBPS_EPPRIME_OFFSET</a>, <a class="el" href="group__usbps.html#ga91f2b4b1ac7ef9af2fae37c11bf79365">XUSBPS_EPSTAT_OFFSET</a>, <a class="el" href="group__usbps.html#gae013de4110ae5cd348830c36a365fb14">XUsbPs_ReadReg</a>, <a class="el" href="xusbps_8h.html#a14248be9e30d77cb8f65ecedf8bfbdf0">XUsbPs_Stop</a>, and <a class="el" href="group__usbps.html#gaefd4e31b2628602507b5df0f7d9c934f">XUsbPs_WriteReg</a>.</p>

</div>
</div>
<a class="anchor" id="gac27a9d64ddf33a2400d7493e301a7192"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XUsbPs_EpBufferReceive </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>EpNum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 **&#160;</td>
          <td class="paramname"><em>BufferPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32 *&#160;</td>
          <td class="paramname"><em>BufferLenPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32 *&#160;</td>
          <td class="paramname"><em>Handle</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function receives a data buffer from the endpoint of the given endpoint number. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> instance of the controller. </td></tr>
    <tr><td class="paramname">EpNum</td><td>is the number of the endpoint to receive data from. </td></tr>
    <tr><td class="paramname">BufferPtr</td><td>(OUT param) is a pointer to the buffer pointer to hold the reference of the data buffer. </td></tr>
    <tr><td class="paramname">BufferLenPtr</td><td>(OUT param) is a pointer to the integer that will hold the buffer length. </td></tr>
    <tr><td class="paramname">Handle</td><td>is the opaque handle to be used when the buffer is released.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS: The operation completed successfully.</li>
<li>XST_FAILURE: An error occurred.</li>
<li>XST_USB_NO_BUF: No buffer available.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>After handling the data in the buffer, the user MUST release the buffer using the Handle by calling the <a class="el" href="group__usbps.html#gaa01a009151d133f07249d7f932e22f11" title="This function returns a previously received data buffer to the driver. ">XUsbPs_EpBufferRelease()</a> function. </dd></dl>

<p>References <a class="el" href="struct_x_usb_ps___ep_setup.html#a256d341fe10df4647516600022afa2a3">XUsbPs_EpSetup::BufSize</a>, <a class="el" href="struct_x_usb_ps.html#a6b2850e98dd08df31ee5369ce56e8c50">XUsbPs::DeviceConfig</a>, <a class="el" href="struct_x_usb_ps___ep_out.html#a07bb77bd265570152d71877ebb60d0a6">XUsbPs_EpOut::dTDCurr</a>, <a class="el" href="struct_x_usb_ps___device_config.html#a7776d48757f00ec0c53fb83457a7855d">XUsbPs_DeviceConfig::Ep</a>, <a class="el" href="struct_x_usb_ps___device_config.html#afd60a9334300a134f4027be0bef9c6c4">XUsbPs_DeviceConfig::EpCfg</a>, <a class="el" href="struct_x_usb_ps___device_config.html#aeb059166762916b8b5776f4afba26315">XUsbPs_DeviceConfig::NumEndpoints</a>, <a class="el" href="struct_x_usb_ps___endpoint.html#ab749c847bbfe3720231c06cafd3327a1">XUsbPs_Endpoint::Out</a>, <a class="el" href="struct_x_usb_ps___ep_config.html#afb05276ac16ab82fc798fdb0cb2ed3b5">XUsbPs_EpConfig::Out</a>, <a class="el" href="group__usbps.html#gae1f55dd3ec1b871e8e969505420aba2d">XUSBPS_dTDBPTR0</a>, <a class="el" href="group__usbps.html#ga711b9e3ec5886510d1647017b171b7a7">XUsbPs_dTDGetTransferLen</a>, <a class="el" href="group__usbps.html#gaa260e9aba369da9638b783b6954f6661">XUsbPs_dTDInvalidateCache</a>, <a class="el" href="group__usbps.html#ga0eac82eeedb77e35d21c352b3aaabd17">XUsbPs_dTDIsActive</a>, <a class="el" href="group__usbps.html#ga53e16e680fe49e56c3267e4d9d81078a">XUsbPs_dTDSetTransferLen</a>, <a class="el" href="group__usbps.html#gaa0000a3e99579f8bdfcd74d39afaa41f">XUSBPS_dTDUSERDATA</a>, <a class="el" href="group__usbps.html#ga8fb175f0a451903f999c9ddf2454eaa6">XUsbPs_ReaddTD</a>, and <a class="el" href="group__usbps.html#ga46b39addcef0c64d911bcb4fef09995f">XUsbPs_WritedTD</a>.</p>

</div>
</div>
<a class="anchor" id="gaa01a009151d133f07249d7f932e22f11"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XUsbPs_EpBufferRelease </td>
          <td>(</td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Handle</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function returns a previously received data buffer to the driver. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Handle</td><td>is a pointer to the buffer that is returned.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None. </dd></dl>

<p>References <a class="el" href="group__usbps.html#gaa7cc144d178f6407b39c0ef5f86685ca">XUSBPS_dTD_ALIGN</a>, <a class="el" href="group__usbps.html#ga0790e61992c08a5957fd76b0872e229f">XUsbPs_dTDClrTerminate</a>, <a class="el" href="group__usbps.html#gaa260e9aba369da9638b783b6954f6661">XUsbPs_dTDInvalidateCache</a>, <a class="el" href="group__usbps.html#ga391b6782385021bb6ea588f85e81655d">XUsbPs_dTDSetActive</a>, and <a class="el" href="group__usbps.html#gabd3140e00ef6e8680e34ee234d0ea416">XUsbPs_dTDSetIOC</a>.</p>

<p>Referenced by <a class="el" href="group__usbps.html#ga0532b9ebbcab7bb72ec6bef692e20faf">XUsbPs_EpGetData()</a>.</p>

</div>
</div>
<a class="anchor" id="ga6bfe53ec45a998d5673b80e11ab4d292"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XUsbPs_EpBufferSend </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>EpNum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u8 *&#160;</td>
          <td class="paramname"><em>BufferPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>BufferLen</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends a given data buffer. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> instance of the controller. </td></tr>
    <tr><td class="paramname">EpNum</td><td>is the number of the endpoint to receive data from. </td></tr>
    <tr><td class="paramname">BufferPtr</td><td>is a pointer to the buffer to send. </td></tr>
    <tr><td class="paramname">BufferLen</td><td>is the Buffer length.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS: The operation completed successfully.</li>
<li>XST_FAILURE: An error occurred.</li>
<li>XST_USB_BUF_TOO_BIG: Provided buffer is too big (&gt;16kB).</li>
<li>XST_USB_NO_DESC_AVAILABLE: No TX descriptor is available. </li>
</ul>
</dd></dl>

<p>References <a class="el" href="struct_x_usb_ps___device_config.html#aeb059166762916b8b5776f4afba26315">XUsbPs_DeviceConfig::NumEndpoints</a>.</p>

<p>Referenced by <a class="el" href="xusbps__class__storage_8h.html#a8665f21d5cd56ddd1983b110d15f7d25">XUsbPs_ClassReq()</a>, and <a class="el" href="xusbps__class__storage_8h.html#ab7966c2613bda5b2c9373809f24aac0b">XUsbPs_HandleStorageReq()</a>.</p>

</div>
</div>
<a class="anchor" id="ga1e4c0735be24ea24b73404db8d18133e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XUsbPs_EpBufferSendWithZLT </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>EpNum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u8 *&#160;</td>
          <td class="paramname"><em>BufferPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>BufferLen</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends a given data buffer and also zero length packet if the Bufferlen is in multiples of endpoint max packet size. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> instance of the controller. </td></tr>
    <tr><td class="paramname">EpNum</td><td>is the number of the endpoint to receive data from. </td></tr>
    <tr><td class="paramname">BufferPtr</td><td>is a pointer to the buffer to send. </td></tr>
    <tr><td class="paramname">BufferLen</td><td>is the Buffer length.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS: The operation completed successfully.</li>
<li>XST_FAILURE: An error occurred.</li>
<li>XST_USB_BUF_TOO_BIG: Provided buffer is too big (&gt;16kB).</li>
<li>XST_USB_NO_DESC_AVAILABLE: No TX descriptor is available. </li>
</ul>
</dd></dl>

<p>References <a class="el" href="struct_x_usb_ps.html#a6b2850e98dd08df31ee5369ce56e8c50">XUsbPs::DeviceConfig</a>, <a class="el" href="struct_x_usb_ps___device_config.html#afd60a9334300a134f4027be0bef9c6c4">XUsbPs_DeviceConfig::EpCfg</a>, <a class="el" href="struct_x_usb_ps___ep_config.html#adf5b934788f53cbdb6c23371c0e88e53">XUsbPs_EpConfig::In</a>, <a class="el" href="struct_x_usb_ps___ep_setup.html#ab6896a844582da8978f89a4245c055a9">XUsbPs_EpSetup::MaxPacketSize</a>, and <a class="el" href="struct_x_usb_ps___device_config.html#aeb059166762916b8b5776f4afba26315">XUsbPs_DeviceConfig::NumEndpoints</a>.</p>

</div>
</div>
<a class="anchor" id="gadbe72ae98e3bc73150a650f5f8e5c34f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">s32 XUsbPs_EpDataBufferReceive </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>EpNum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>BufferPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>BufferLen</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function receives a data buffer from the endpoint of the given endpoint number. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> instance of the controller. </td></tr>
    <tr><td class="paramname">EpNum</td><td>is the number of the endpoint to receive data from. </td></tr>
    <tr><td class="paramname">BufferPtr</td><td>(OUT param) is a pointer to the buffer pointer to hold the reference of the data buffer. </td></tr>
    <tr><td class="paramname">BufferLen</td><td>(OUT param) is a pointer to the integer that will hold the buffer length.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS: The operation completed successfully.</li>
<li>XST_FAILURE: An error occurred.</li>
<li>XST_USB_NO_BUF: No buffer available.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd></dd></dl>

<p>References <a class="el" href="struct_x_usb_ps___ep_out.html#a1d7d48fe21178688b886f1bc2ce7acb4">XUsbPs_EpOut::BufferPtr</a>, <a class="el" href="struct_x_usb_ps___ep_out.html#a0778b4d9789c44e4ad86f4f699285999">XUsbPs_EpOut::BytesTxed</a>, <a class="el" href="struct_x_usb_ps.html#a6b2850e98dd08df31ee5369ce56e8c50">XUsbPs::DeviceConfig</a>, <a class="el" href="struct_x_usb_ps___ep_out.html#a07bb77bd265570152d71877ebb60d0a6">XUsbPs_EpOut::dTDCurr</a>, <a class="el" href="struct_x_usb_ps___device_config.html#a7776d48757f00ec0c53fb83457a7855d">XUsbPs_DeviceConfig::Ep</a>, <a class="el" href="struct_x_usb_ps___ep_out.html#a536f58da53e3d0617b13ffa50334fcfa">XUsbPs_EpOut::MemAlloted</a>, <a class="el" href="struct_x_usb_ps___device_config.html#aeb059166762916b8b5776f4afba26315">XUsbPs_DeviceConfig::NumEndpoints</a>, <a class="el" href="struct_x_usb_ps___endpoint.html#ab749c847bbfe3720231c06cafd3327a1">XUsbPs_Endpoint::Out</a>, <a class="el" href="struct_x_usb_ps___ep_out.html#a7b94e8c1b66b1e609702a7fa4606aefd">XUsbPs_EpOut::RequestedBytes</a>, <a class="el" href="group__usbps.html#gaa260e9aba369da9638b783b6954f6661">XUsbPs_dTDInvalidateCache</a>, <a class="el" href="group__usbps.html#ga0eac82eeedb77e35d21c352b3aaabd17">XUsbPs_dTDIsActive</a>, and <a class="el" href="group__usbps.html#ga0532b9ebbcab7bb72ec6bef692e20faf">XUsbPs_EpGetData()</a>.</p>

<p>Referenced by <a class="el" href="xusbps__class__storage_8h.html#a8665f21d5cd56ddd1983b110d15f7d25">XUsbPs_ClassReq()</a>.</p>

</div>
</div>
<a class="anchor" id="ga0532b9ebbcab7bb72ec6bef692e20faf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XUsbPs_EpGetData </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>EpNum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>BufferLen</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function receives a data buffer from the endpoint of the given endpoint number and pass it to the application. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> instance of the controller. </td></tr>
    <tr><td class="paramname">EpNum</td><td>is the number of the endpoint to receive data from. </td></tr>
    <tr><td class="paramname">BufferLen</td><td>is holding the buffer length.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_usb_ps___ep_out.html#a1d7d48fe21178688b886f1bc2ce7acb4">XUsbPs_EpOut::BufferPtr</a>, <a class="el" href="struct_x_usb_ps___ep_setup.html#a256d341fe10df4647516600022afa2a3">XUsbPs_EpSetup::BufSize</a>, <a class="el" href="struct_x_usb_ps___ep_out.html#a0778b4d9789c44e4ad86f4f699285999">XUsbPs_EpOut::BytesTxed</a>, <a class="el" href="struct_x_usb_ps.html#a6b2850e98dd08df31ee5369ce56e8c50">XUsbPs::DeviceConfig</a>, <a class="el" href="struct_x_usb_ps___ep_out.html#a07bb77bd265570152d71877ebb60d0a6">XUsbPs_EpOut::dTDCurr</a>, <a class="el" href="struct_x_usb_ps___device_config.html#a7776d48757f00ec0c53fb83457a7855d">XUsbPs_DeviceConfig::Ep</a>, <a class="el" href="struct_x_usb_ps___device_config.html#afd60a9334300a134f4027be0bef9c6c4">XUsbPs_DeviceConfig::EpCfg</a>, <a class="el" href="struct_x_usb_ps___ep_out.html#a5f2e123ca0992c0d40db15e33cf260a6">XUsbPs_EpOut::HandlerIsoFunc</a>, <a class="el" href="struct_x_usb_ps___ep_out.html#aa0c6dbda53f80bd6998e0bce4b81d2a0">XUsbPs_EpOut::HandlerRef</a>, <a class="el" href="struct_x_usb_ps___ep_setup.html#ab6896a844582da8978f89a4245c055a9">XUsbPs_EpSetup::MaxPacketSize</a>, <a class="el" href="struct_x_usb_ps___ep_out.html#a536f58da53e3d0617b13ffa50334fcfa">XUsbPs_EpOut::MemAlloted</a>, <a class="el" href="struct_x_usb_ps___endpoint.html#ab749c847bbfe3720231c06cafd3327a1">XUsbPs_Endpoint::Out</a>, <a class="el" href="struct_x_usb_ps___ep_config.html#afb05276ac16ab82fc798fdb0cb2ed3b5">XUsbPs_EpConfig::Out</a>, <a class="el" href="struct_x_usb_ps___ep_out.html#a7b94e8c1b66b1e609702a7fa4606aefd">XUsbPs_EpOut::RequestedBytes</a>, <a class="el" href="group__usbps.html#gae1f55dd3ec1b871e8e969505420aba2d">XUSBPS_dTDBPTR0</a>, <a class="el" href="group__usbps.html#gaff561ce4d02aeaca741b9344cf71c439">XUsbPs_dTDGetNLP</a>, <a class="el" href="group__usbps.html#ga711b9e3ec5886510d1647017b171b7a7">XUsbPs_dTDGetTransferLen</a>, <a class="el" href="group__usbps.html#gaa260e9aba369da9638b783b6954f6661">XUsbPs_dTDInvalidateCache</a>, <a class="el" href="group__usbps.html#ga0eac82eeedb77e35d21c352b3aaabd17">XUsbPs_dTDIsActive</a>, <a class="el" href="group__usbps.html#ga53e16e680fe49e56c3267e4d9d81078a">XUsbPs_dTDSetTransferLen</a>, <a class="el" href="group__usbps.html#gaa0000a3e99579f8bdfcd74d39afaa41f">XUSBPS_dTDUSERDATA</a>, <a class="el" href="group__usbps.html#gaa01a009151d133f07249d7f932e22f11">XUsbPs_EpBufferRelease()</a>, <a class="el" href="group__usbps.html#ga8fb175f0a451903f999c9ddf2454eaa6">XUsbPs_ReaddTD</a>, and <a class="el" href="group__usbps.html#ga46b39addcef0c64d911bcb4fef09995f">XUsbPs_WritedTD</a>.</p>

<p>Referenced by <a class="el" href="group__usbps.html#gadbe72ae98e3bc73150a650f5f8e5c34f">XUsbPs_EpDataBufferReceive()</a>.</p>

</div>
</div>
<a class="anchor" id="ga91c44ff9dcae2e47ed8112c8a0779fa1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XUsbPs_EpGetSetupData </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>EpNum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_x_usb_ps___setup_data.html">XUsbPs_SetupData</a> *&#160;</td>
          <td class="paramname"><em>SetupDataPtr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function extracts the Setup Data from a given endpoint. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> instance of the controller. </td></tr>
    <tr><td class="paramname">EpNum</td><td>is the number of the endpoint to receive data from. </td></tr>
    <tr><td class="paramname">SetupDataPtr</td><td>is a pointer to the setup data structure to be filled.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS: The operation completed successfully.</li>
<li>XST_FAILURE: An error occurred.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_usb_ps___config.html#a0fc8018ea01456a111464cf7d9f7ed04">XUsbPs_Config::BaseAddress</a>, <a class="el" href="struct_x_usb_ps___setup_data.html#afda08a011932bde143139829a61c37c0">XUsbPs_SetupData::bmRequestType</a>, <a class="el" href="struct_x_usb_ps___setup_data.html#a00cd3d9748a6d8fe54af651126becd50">XUsbPs_SetupData::bRequest</a>, <a class="el" href="struct_x_usb_ps.html#a85f47a2007b61d22d85cc229a7afe26b">XUsbPs::Config</a>, <a class="el" href="struct_x_usb_ps.html#a6b2850e98dd08df31ee5369ce56e8c50">XUsbPs::DeviceConfig</a>, <a class="el" href="struct_x_usb_ps___ep_out.html#a25529ccf4a095d2704dc7dc02ee6d7de">XUsbPs_EpOut::dQH</a>, <a class="el" href="struct_x_usb_ps___device_config.html#a7776d48757f00ec0c53fb83457a7855d">XUsbPs_DeviceConfig::Ep</a>, <a class="el" href="struct_x_usb_ps___device_config.html#aeb059166762916b8b5776f4afba26315">XUsbPs_DeviceConfig::NumEndpoints</a>, <a class="el" href="struct_x_usb_ps___endpoint.html#ab749c847bbfe3720231c06cafd3327a1">XUsbPs_Endpoint::Out</a>, <a class="el" href="struct_x_usb_ps___setup_data.html#ad085f8a84571f2df12ce9e5bc90facae">XUsbPs_SetupData::wIndex</a>, <a class="el" href="struct_x_usb_ps___setup_data.html#a6c927388ae044126bc1e546bce8b1243">XUsbPs_SetupData::wLength</a>, <a class="el" href="struct_x_usb_ps___setup_data.html#a78686691b1ec4cc04a89d25383e71a9e">XUsbPs_SetupData::wValue</a>, <a class="el" href="xusbps_8h.html#a67d06e097966e561f940dcb60ec99cac">XUsbPs_ClrSetupTripwire</a>, <a class="el" href="group__usbps.html#ga578231f86cf92fd3a737403139877114">XUSBPS_dQHSUB0</a>, <a class="el" href="group__usbps.html#ga8bf765db8dc35c110ea1fce23e0f8004">XUSBPS_dQHSUB1</a>, <a class="el" href="group__usbps.html#ga91f2b4b1ac7ef9af2fae37c11bf79365">XUSBPS_EPSTAT_OFFSET</a>, <a class="el" href="group__usbps.html#ga839c21d9f38839e4feb1c9e65a8c1737">XUsbPs_ReaddQH</a>, <a class="el" href="group__usbps.html#gae013de4110ae5cd348830c36a365fb14">XUsbPs_ReadReg</a>, <a class="el" href="xusbps_8h.html#a232724ca8e31333747d5eb0e7c144695">XUsbPs_SetSetupTripwire</a>, <a class="el" href="xusbps_8h.html#ad9cfbb6b0afe50174fb8fb126e5ba120">XUsbPs_SetupTripwireIsSet</a>, and <a class="el" href="group__usbps.html#gaefd4e31b2628602507b5df0f7d9c934f">XUsbPs_WriteReg</a>.</p>

</div>
</div>
<a class="anchor" id="gaba0ae2eac9c6b402e32e401333a5b105"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XUsbPs_EpPrime </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>EpNum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>Direction</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function primes an endpoint. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is pointer to the <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> instance. </td></tr>
    <tr><td class="paramname">EpNum</td><td>is the number of the endpoint to receive data from. </td></tr>
    <tr><td class="paramname">Direction</td><td>is the direction of the endpoint (bitfield):<ul>
<li>XUSBPS_EP_DIRECTION_OUT</li>
<li>XUSBPS_EP_DIRECTION_IN</li>
</ul>
</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS: The operation completed successfully.</li>
<li>XST_FAILURE: An error occurred.</li>
<li>XST_INVALID_PARAM: Invalid parameter passed.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_usb_ps___config.html#a0fc8018ea01456a111464cf7d9f7ed04">XUsbPs_Config::BaseAddress</a>, <a class="el" href="struct_x_usb_ps.html#a85f47a2007b61d22d85cc229a7afe26b">XUsbPs::Config</a>, <a class="el" href="struct_x_usb_ps___device_config.html#aeb059166762916b8b5776f4afba26315">XUsbPs_DeviceConfig::NumEndpoints</a>, <a class="el" href="group__usbps.html#ga0f21b0f7da084c22abc4f0a9bf425bc7">XUSBPS_EP_DIRECTION_IN</a>, <a class="el" href="group__usbps.html#ga86e363bb35c38123a924bd2af954ceab">XUSBPS_EP_DIRECTION_OUT</a>, <a class="el" href="group__usbps.html#gacc291723213710b2c1cef056a0a96853">XUSBPS_EPPRIME_OFFSET</a>, and <a class="el" href="group__usbps.html#gaefd4e31b2628602507b5df0f7d9c934f">XUsbPs_WriteReg</a>.</p>

<p>Referenced by <a class="el" href="group__usbps.html#ga60e2b0f6fabc24cdf785d704ab2585d1">XUsbPs_IntrHandler()</a>, and <a class="el" href="xusbps__ch9__storage_8c.html#a72238ee80cba8facd72277ab2ec271de">XUsbPs_SetConfiguration()</a>.</p>

</div>
</div>
<a class="anchor" id="ga04fb0b564bcd01cdf33e29ca2732656a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XUsbPs_EpSetHandler </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>EpNum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>Direction</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XUsbPs_EpHandlerFunc&#160;</td>
          <td class="paramname"><em>CallBackFunc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>CallBackRef</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sets the handler for endpoint events. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> instance of the controller. </td></tr>
    <tr><td class="paramname">EpNum</td><td>is the number of the endpoint to receive data from. </td></tr>
    <tr><td class="paramname">Direction</td><td>is the direction of the endpoint (bitfield):<ul>
<li>XUSBPS_EP_DIRECTION_OUT</li>
<li>XUSBPS_EP_DIRECTION_IN </li>
</ul>
</td></tr>
    <tr><td class="paramname">CallBackFunc</td><td>is the Handler callback function. Can be NULL if the user wants to disable the handler entry. </td></tr>
    <tr><td class="paramname">CallBackRef</td><td>is the user definable data pointer that will be passed back if the handler is called. May be NULL.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS: The operation completed successfully.</li>
<li>XST_FAILURE: An error occurred.</li>
<li>XST_INVALID_PARAM: Invalid parameter passed.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>The user can disable a handler by setting the callback function pointer to NULL. </dd></dl>

<p>References <a class="el" href="struct_x_usb_ps.html#a6b2850e98dd08df31ee5369ce56e8c50">XUsbPs::DeviceConfig</a>, <a class="el" href="struct_x_usb_ps___device_config.html#a7776d48757f00ec0c53fb83457a7855d">XUsbPs_DeviceConfig::Ep</a>, <a class="el" href="struct_x_usb_ps___ep_out.html#aa0c6dbda53f80bd6998e0bce4b81d2a0">XUsbPs_EpOut::HandlerRef</a>, <a class="el" href="struct_x_usb_ps___ep_in.html#abf4775252d3e3529668c1984327837b9">XUsbPs_EpIn::HandlerRef</a>, <a class="el" href="struct_x_usb_ps___endpoint.html#a93c98d6d17b4a8465328ad6ec5aa9c2a">XUsbPs_Endpoint::In</a>, <a class="el" href="struct_x_usb_ps___device_config.html#aeb059166762916b8b5776f4afba26315">XUsbPs_DeviceConfig::NumEndpoints</a>, <a class="el" href="struct_x_usb_ps___endpoint.html#ab749c847bbfe3720231c06cafd3327a1">XUsbPs_Endpoint::Out</a>, <a class="el" href="group__usbps.html#ga0f21b0f7da084c22abc4f0a9bf425bc7">XUSBPS_EP_DIRECTION_IN</a>, and <a class="el" href="group__usbps.html#ga86e363bb35c38123a924bd2af954ceab">XUSBPS_EP_DIRECTION_OUT</a>.</p>

<p>Referenced by <a class="el" href="xusbps__audio__example_8c.html#a840291bc02cba5474a4cb46a9b9566fe">main()</a>.</p>

</div>
</div>
<a class="anchor" id="ga5eb603906d381d4a426a3d24fc2082a0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">s32 XUsbPs_EpSetIsoHandler </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>EpNum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>Direction</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XUsbPs_EpIsoHandlerFunc&#160;</td>
          <td class="paramname"><em>CallBackFunc</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sets the handler for ISO endpoint events. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> instance of the controller. </td></tr>
    <tr><td class="paramname">EpNum</td><td>is the number of the endpoint to receive data from. </td></tr>
    <tr><td class="paramname">Direction</td><td>is the direction of the endpoint (bitfield):<ul>
<li>XUSBPS_EP_DIRECTION_OUT</li>
<li>XUSBPS_EP_DIRECTION_IN </li>
</ul>
</td></tr>
    <tr><td class="paramname">CallBackFunc</td><td>is the Handler callback function. Can be NULL if the user wants to disable the handler entry.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS: The operation completed successfully.</li>
<li>XST_FAILURE: An error occurred.</li>
<li>XST_INVALID_PARAM: Invalid parameter passed.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>The user can disable a handler by setting the callback function pointer to NULL. </dd></dl>

<p>References <a class="el" href="struct_x_usb_ps.html#a6b2850e98dd08df31ee5369ce56e8c50">XUsbPs::DeviceConfig</a>, <a class="el" href="struct_x_usb_ps___device_config.html#a7776d48757f00ec0c53fb83457a7855d">XUsbPs_DeviceConfig::Ep</a>, <a class="el" href="struct_x_usb_ps___ep_out.html#a5f2e123ca0992c0d40db15e33cf260a6">XUsbPs_EpOut::HandlerIsoFunc</a>, <a class="el" href="struct_x_usb_ps___ep_in.html#ab8bc14c1c79b8624b560237a89709f96">XUsbPs_EpIn::HandlerIsoFunc</a>, <a class="el" href="struct_x_usb_ps___ep_out.html#aa0c6dbda53f80bd6998e0bce4b81d2a0">XUsbPs_EpOut::HandlerRef</a>, <a class="el" href="struct_x_usb_ps___ep_in.html#abf4775252d3e3529668c1984327837b9">XUsbPs_EpIn::HandlerRef</a>, <a class="el" href="struct_x_usb_ps___endpoint.html#a93c98d6d17b4a8465328ad6ec5aa9c2a">XUsbPs_Endpoint::In</a>, <a class="el" href="struct_x_usb_ps___device_config.html#aeb059166762916b8b5776f4afba26315">XUsbPs_DeviceConfig::NumEndpoints</a>, <a class="el" href="struct_x_usb_ps___endpoint.html#ab749c847bbfe3720231c06cafd3327a1">XUsbPs_Endpoint::Out</a>, <a class="el" href="group__usbps.html#ga0f21b0f7da084c22abc4f0a9bf425bc7">XUSBPS_EP_DIRECTION_IN</a>, and <a class="el" href="group__usbps.html#ga86e363bb35c38123a924bd2af954ceab">XUSBPS_EP_DIRECTION_OUT</a>.</p>

<p>Referenced by <a class="el" href="xusbps__audio__example_8c.html#a840291bc02cba5474a4cb46a9b9566fe">main()</a>.</p>

</div>
</div>
<a class="anchor" id="ga60e2b0f6fabc24cdf785d704ab2585d1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XUsbPs_IntrHandler </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>HandlerRef</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function is the first-level interrupt handler for the USB core. </p>
<p>All USB interrupts will be handled here. Depending on the type of the interrupt, second level interrupt handler may be called. Second level interrupt handlers will be registered by the user using the: <a class="el" href="group__usbps.html#ga521c050d3b146bb58862f5fadf7f6ba6" title="This function registers the user callback handler for controller (non-endpoint) interrupts. ">XUsbPs_IntrSetHandler()</a> and/or <a class="el" href="group__usbps.html#ga04fb0b564bcd01cdf33e29ca2732656a" title="This function sets the handler for endpoint events. ">XUsbPs_EpSetHandler()</a> functions.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">HandlerRef</td><td>is a Reference passed to the interrupt register function. In our case this will be a pointer to the <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None </dd></dl>

<p>References <a class="el" href="struct_x_usb_ps___config.html#a0fc8018ea01456a111464cf7d9f7ed04">XUsbPs_Config::BaseAddress</a>, <a class="el" href="struct_x_usb_ps.html#a85f47a2007b61d22d85cc229a7afe26b">XUsbPs::Config</a>, <a class="el" href="struct_x_usb_ps.html#acdcf162fbc8bd0b2e4eb32386bdb22d8">XUsbPs::HandlerFunc</a>, <a class="el" href="struct_x_usb_ps.html#a82d001c64fb44301908797ffae28abd0">XUsbPs::HandlerMask</a>, <a class="el" href="struct_x_usb_ps.html#a5ff9fb5a7e23901d72230e26dfc9ae5d">XUsbPs::HandlerRef</a>, <a class="el" href="group__usbps.html#ga86e363bb35c38123a924bd2af954ceab">XUSBPS_EP_DIRECTION_OUT</a>, <a class="el" href="group__usbps.html#gad1dbbbae10dd87179c81c9e899e4af8f">XUSBPS_EP_IN_MASK</a>, <a class="el" href="group__usbps.html#ga677f89e935e0c9b679090d70fa4046d0">XUSBPS_EP_OUT_MASK</a>, <a class="el" href="group__usbps.html#gad237b5e446825307327dfe71c04d2899">XUSBPS_EPCOMPL_OFFSET</a>, <a class="el" href="group__usbps.html#ga7f16bb1d54ffe9b9edf7ffc2a5b3bc2e">XUSBPS_EPNAKISR_OFFSET</a>, <a class="el" href="group__usbps.html#gaba0ae2eac9c6b402e32e401333a5b105">XUsbPs_EpPrime()</a>, <a class="el" href="group__usbps.html#ga91f2b4b1ac7ef9af2fae37c11bf79365">XUSBPS_EPSTAT_OFFSET</a>, <a class="el" href="group__usbps.html#gae977cbceae698547d039d7fdd643b209">XUSBPS_ISR_OFFSET</a>, <a class="el" href="group__usbps.html#ga4ef9bc78622a7a9ec47e29490ceb3d8c">XUSBPS_IXR_NAK_MASK</a>, <a class="el" href="group__usbps.html#ga6dcda0bc8640b4ab5cc9640fdfaead17">XUSBPS_IXR_UI_MASK</a>, <a class="el" href="group__usbps.html#ga8c0544cefd69591cbf14e39dab946bd0">XUSBPS_IXR_UR_MASK</a>, <a class="el" href="group__usbps.html#gae013de4110ae5cd348830c36a365fb14">XUsbPs_ReadReg</a>, and <a class="el" href="group__usbps.html#gaefd4e31b2628602507b5df0f7d9c934f">XUsbPs_WriteReg</a>.</p>

<p>Referenced by <a class="el" href="xusbps__audio__example_8c.html#a840291bc02cba5474a4cb46a9b9566fe">main()</a>, and <a class="el" href="xusbps__audio__example_8c.html#a938cd4fd3524f466825dbd96299426e5">XUsbPs_SetupInterruptSystem()</a>.</p>

</div>
</div>
<a class="anchor" id="ga521c050d3b146bb58862f5fadf7f6ba6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XUsbPs_IntrSetHandler </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XUsbPs_IntrHandlerFunc&#160;</td>
          <td class="paramname"><em>CallBackFunc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>CallBackRef</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Mask</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function registers the user callback handler for controller (non-endpoint) interrupts. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> instance of the controller. </td></tr>
    <tr><td class="paramname">CallBackFunc</td><td>is the Callback function to register. CallBackFunc may be NULL to clear the entry. </td></tr>
    <tr><td class="paramname">CallBackRef</td><td>is the user data reference passed to the callback function. CallBackRef may be NULL. </td></tr>
    <tr><td class="paramname">Mask</td><td>is the User interrupt mask. Defines which interrupts will cause the callback to be called.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS: Callback registered successfully.</li>
<li>XST_FAILURE: Callback could not be registered.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_usb_ps.html#acdcf162fbc8bd0b2e4eb32386bdb22d8">XUsbPs::HandlerFunc</a>, <a class="el" href="struct_x_usb_ps.html#a82d001c64fb44301908797ffae28abd0">XUsbPs::HandlerMask</a>, and <a class="el" href="struct_x_usb_ps.html#a5ff9fb5a7e23901d72230e26dfc9ae5d">XUsbPs::HandlerRef</a>.</p>

</div>
</div>
<a class="anchor" id="gafcaf2c53431ef206d3435d677867f818"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_x_usb_ps___config.html">XUsbPs_Config</a>* XUsbPs_LookupConfig </td>
          <td>(</td>
          <td class="paramtype">u16&#160;</td>
          <td class="paramname"><em>DeviceID</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Looks up the controller configuration based on the unique controller ID. </p>
<p>A table contains the configuration info for each controller in the system.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">DeviceID</td><td>is the ID of the controller to look up the configuration for.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A pointer to the configuration found or NULL if the specified controller ID was not found. </dd></dl>

<p>Referenced by <a class="el" href="xusbps__audio__example_8c.html#a840291bc02cba5474a4cb46a9b9566fe">main()</a>.</p>

</div>
</div>
<a class="anchor" id="ga90aab040f015299b2064124bed882896"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XUsbPs_ReconfigureEp </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_x_usb_ps___device_config.html">XUsbPs_DeviceConfig</a> *&#160;</td>
          <td class="paramname"><em>CfgPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>EpNum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned short&#160;</td>
          <td class="paramname"><em>NewDirection</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>DirectionChanged</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function reconfigures one Ep corresponding to host's request of setting alternate interface. </p>
<p>The endpoint has been disabled before this call.</p>
<p>Both QH and dTDs are updated for the new configuration.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> instance of the controller. </td></tr>
    <tr><td class="paramname">CfgPtr</td><td>Pointer to the updated <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> DEVICE configuration structure.</td></tr>
    <tr><td class="paramname">EpNum</td><td>The endpoint to be reconfigured.</td></tr>
    <tr><td class="paramname">NewDirection</td><td>The new transfer direction the endpoint.</td></tr>
    <tr><td class="paramname">DirectionChanged</td><td>A boolean value indicate whether the transfer direction has changed.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XST_SUCCESS upon success, XST_FAILURE otherwise. </dd></dl>

<p>References <a class="el" href="struct_x_usb_ps___ep_out.html#a6b2cdb5074182d7f0f4b6d3e9dbf622c">XUsbPs_EpOut::dTDBufs</a>, <a class="el" href="struct_x_usb_ps___ep_out.html#a07bb77bd265570152d71877ebb60d0a6">XUsbPs_EpOut::dTDCurr</a>, <a class="el" href="struct_x_usb_ps___ep_in.html#a4b9ea6443d363d27d2db7568e7f9bdca">XUsbPs_EpIn::dTDHead</a>, <a class="el" href="struct_x_usb_ps___ep_out.html#af6d60c79e713a15dbdf233cfaee0679a">XUsbPs_EpOut::dTDs</a>, <a class="el" href="struct_x_usb_ps___ep_in.html#a375b19e94ca30922e04ce4c67b4c6d9b">XUsbPs_EpIn::dTDs</a>, <a class="el" href="struct_x_usb_ps___ep_in.html#ab96881a7e7762bb132da2c0c9ff30f07">XUsbPs_EpIn::dTDTail</a>, <a class="el" href="struct_x_usb_ps___device_config.html#a7776d48757f00ec0c53fb83457a7855d">XUsbPs_DeviceConfig::Ep</a>, <a class="el" href="struct_x_usb_ps___device_config.html#afd60a9334300a134f4027be0bef9c6c4">XUsbPs_DeviceConfig::EpCfg</a>, <a class="el" href="struct_x_usb_ps___endpoint.html#a93c98d6d17b4a8465328ad6ec5aa9c2a">XUsbPs_Endpoint::In</a>, <a class="el" href="struct_x_usb_ps___ep_setup.html#a55577027dc17083887a0fd818a80f453">XUsbPs_EpSetup::NumBufs</a>, <a class="el" href="struct_x_usb_ps___endpoint.html#ab749c847bbfe3720231c06cafd3327a1">XUsbPs_Endpoint::Out</a>, <a class="el" href="struct_x_usb_ps___ep_config.html#afb05276ac16ab82fc798fdb0cb2ed3b5">XUsbPs_EpConfig::Out</a>, <a class="el" href="group__usbps.html#gaa7cc144d178f6407b39c0ef5f86685ca">XUSBPS_dTD_ALIGN</a>, <a class="el" href="group__usbps.html#ga0f21b0f7da084c22abc4f0a9bf425bc7">XUSBPS_EP_DIRECTION_IN</a>, and <a class="el" href="group__usbps.html#ga86e363bb35c38123a924bd2af954ceab">XUSBPS_EP_DIRECTION_OUT</a>.</p>

</div>
</div>
<a class="anchor" id="ga5dc88831ee2823e24d7024e585704772"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XUsbPs_RequestHostResume </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>USB Assert Resume. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> instance of the controller.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if the USB device has Resumed successfully</li>
<li>XST_FAILURE on any error</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

</div>
</div>
<a class="anchor" id="ga2c583a4c515653fd70c111fe0d2ddb37"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XUsbPs_Reset </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function resets the USB device. </p>
<p>Common functions used for DEVICE/HOST mode.</p>
<p>All the configuration registers are reset to their default values. The function waits until the reset operation is complete or for a certain duration within which the reset operation is expected to be completed.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> instance of the controller.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS Reset operation completed successfully.</li>
<li>XST_FAILURE Reset operation timed out.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_usb_ps___config.html#a0fc8018ea01456a111464cf7d9f7ed04">XUsbPs_Config::BaseAddress</a>, <a class="el" href="struct_x_usb_ps.html#a85f47a2007b61d22d85cc229a7afe26b">XUsbPs::Config</a>, <a class="el" href="group__usbps.html#gaf4e60df9453b2ca88e075768c80eb362">XUSBPS_CMD_OFFSET</a>, <a class="el" href="group__usbps.html#ga0da6c04d3bd127161f774e9be81e5b51">XUSBPS_CMD_RST_MASK</a>, <a class="el" href="group__usbps.html#gae013de4110ae5cd348830c36a365fb14">XUsbPs_ReadReg</a>, and <a class="el" href="group__usbps.html#gaefd4e31b2628602507b5df0f7d9c934f">XUsbPs_WriteReg</a>.</p>

<p>Referenced by <a class="el" href="group__usbps.html#ga6daace32113a806a6822a6d5943a93f4">XUsbPs_ConfigureDevice()</a>.</p>

</div>
</div>
<a class="anchor" id="gaf07a1ec6f70450249f71f4831649974c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XUsbPs_ResetHw </td>
          <td>(</td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>BaseAddress</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function perform the reset sequence to the given usbps interface by configuring the appropriate control bits in the usbps specific registers. </p>
<p>the usbps reset sequence involves the below steps Disable the interrupts Clear the status registers Apply the reset command and wait for reset complete status Update the relevant control registers with reset values </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">BaseAddress</td><td>of the interface</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>N/A.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="group__usbps.html#ga5321ce3c50f36383f51d1d8ccea520f3">XUSBPS_ASYNCLISTADDR_OFFSET</a>, <a class="el" href="group__usbps.html#gaf4e60df9453b2ca88e075768c80eb362">XUSBPS_CMD_OFFSET</a>, <a class="el" href="group__usbps.html#ga0da6c04d3bd127161f774e9be81e5b51">XUSBPS_CMD_RST_MASK</a>, <a class="el" href="group__usbps.html#gabfe306519d91eb6e73e2758ef0e4022a">XUSBPS_IER_OFFSET</a>, <a class="el" href="group__usbps.html#gae977cbceae698547d039d7fdd643b209">XUSBPS_ISR_OFFSET</a>, <a class="el" href="group__usbps.html#gac554c295a361105374944e4e1da07aad">XUSBPS_LISTBASE_OFFSET</a>, <a class="el" href="group__usbps.html#gae013de4110ae5cd348830c36a365fb14">XUsbPs_ReadReg</a>, and <a class="el" href="group__usbps.html#gaefd4e31b2628602507b5df0f7d9c934f">XUsbPs_WriteReg</a>.</p>

</div>
</div>
<a class="anchor" id="gaa71f906531330b2f05ede2f17ab54c69"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XUsbPs_Resume </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>USB Resume. </p>
<p>If the USB controller is suspended, its operation is resumed when any non-idle signaling is received on its upstream facing port.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> instance of the controller.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if the USB device has Resumed successfully</li>
<li>XST_FAILURE on any error</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

</div>
</div>
<a class="anchor" id="ga8c700bcf9ba08271914145803776d265"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XUsbPs_SetDeviceAddress </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>Address</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This functions sets the controller's DEVICE address. </p>
<p>It also sets the advance bit so the controller will wait for the next IN-ACK before the new address takes effect.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> instance of the controller. </td></tr>
    <tr><td class="paramname">Address</td><td>is the Address of the device.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS: Address set successfully.</li>
<li>XST_FAILURE: An error occurred.</li>
<li>XST_INVALID_PARAM: Invalid parameter passed, e.g. address value too big.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_usb_ps___config.html#a0fc8018ea01456a111464cf7d9f7ed04">XUsbPs_Config::BaseAddress</a>, <a class="el" href="struct_x_usb_ps.html#a85f47a2007b61d22d85cc229a7afe26b">XUsbPs::Config</a>, <a class="el" href="group__usbps.html#ga7839efccd693f5aa8c1b0685b891f760">XUSBPS_DEVICEADDR_ADDR_SHIFT</a>, <a class="el" href="group__usbps.html#ga6a54eea03800ea6ee8ecce7f9fa09795">XUSBPS_DEVICEADDR_DEVICEAADV_MASK</a>, <a class="el" href="group__usbps.html#ga60a03ddaaa15885da8754417ec603c33">XUSBPS_DEVICEADDR_MAX</a>, <a class="el" href="group__usbps.html#ga7a1a4003537baa17d4619dfc180daf53">XUSBPS_DEVICEADDR_OFFSET</a>, and <a class="el" href="group__usbps.html#gaefd4e31b2628602507b5df0f7d9c934f">XUsbPs_WriteReg</a>.</p>

</div>
</div>
<a class="anchor" id="ga0f25904ea86f189b6597c0dff795f61f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XUsbPs_Suspend </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>USB Suspend. </p>
<p>Handling Suspend and Resume.</p>
<p>In order to conserve power, USB devices automatically enter the suspended state when the device has observed no bus traffic for a specified period. When suspended, the USB device maintains any internal status, including its address and configuration. Attached devices must be prepared to suspend at any time they are powered, regardless of if they have been assigned a non-default address, are configured, or neither. Bus activity may cease due to the host entering a suspend mode of its own. In addition, a USB device shall also enter the suspended state when the hub port it is attached to is disabled.</p>
<p>A USB device exits suspend mode when there is bus activity. A USB device may also request the host to exit suspend mode or selective suspend by using electrical signaling to indicate remote wakeup. The ability of a device to signal remote wakeup is optional. If the USB device is capable of remote wakeup signaling, the device must support the ability of the host to enable and disable this capability. When the device is reset, remote wakeup signaling must be disabled.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> instance of the controller.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if the USB device has entered Suspend mode successfully</li>
<li>XST_FAILURE on any error</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a class="anchor" id="gadda6870b9ef5c1d4e7b345433c44bac2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_x_usb_ps___config.html">XUsbPs_Config</a> XUsbPs_ConfigTable[]</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Each <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> device in the system has an entry in this table. </p>

</div>
</div>
<a class="anchor" id="gadda6870b9ef5c1d4e7b345433c44bac2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_x_usb_ps___config.html">XUsbPs_Config</a> XUsbPs_ConfigTable[]</td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line">        {</div>
<div class="line">                0,</div>
<div class="line">                XPAR_XUSBPS_0_BASEADDR</div>
<div class="line">        },</div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line">}</div>
</div><!-- fragment -->
<p>Each <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> device in the system has an entry in this table. </p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
	<p class="footer">&copy; Copyright 2015-2022 Xilinx, Inc. All Rights Reserved.</p>
	<p class="footer">&copy; Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.</p>
</div>
</body>
</html>
